Здравствуйте, xxenia, Вы писали:
X>Здравствуйте, theOne, Вы писали:
O>>Соединяемся с MySQL и с Paradox через ODBC.
O>>Делаем выборку из Paradox в курсор. А затем просто вставляем данные в таблицу MySQL.
X>А есть какой-нибудь пример, как это сделать? Это искать в мануале PHP?
O>>На PHP можно по-моему на прямую залезать и MySQL и в Paradox, но легче делать другими средствами как-то Java или Delphi. Получиться очень быстро.
X>А это где подглядеть?
X>Спасибо за ответ.
На Java:
import java.io.*;
import java.util.*;
import java.sql.*;
public class Run {
public static void main(String[] args) throws Exception {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// Соединяемся с БД определенной в ODBC Administrator с Data Source Name как paradox
Connection conn1 = DriverManager.getConnection("jdbc:odbc:paradox");
// Производим выборку из таблицы
String sql = "SELECT * FROM table1";
Statement stmt = conn1.createStatement();
ResultSet rset = stmt.executeQuery(sql);
Class.forName("org.gjt.mm.mysql.Driver");
String database = "db_name", username="username", password="password";
Connection conn2 = DriverManager.getConnection("jdbc:mysql://127.0.0.1/"+ database +"?user=" + username + "&password=" + password );
Statement stmt2 = conn2.createStatement();
conn2.setAutoCommit(false); // Чтобы не было commit после каждой вставки
// Цикл по таблице из paradox и вставка данных в аналогичную таблицу mySQL
String f1, f2; // Переменные для обмена значениями между таблицами
String insertStatement;
while(rset.next()) {
// Предположим что таблица table1 имеет два строковых поля field1, field2
f1 = rset.getString(1);
f2 = rset.getString(2);
insertStatement = "INSERT INTO table1 (field1, field2) VALUES ('" + f1 +"', '" + f2 +"')";
stmt2.executeUpdate(insertStatement);
}
conn2.commit();
conn1.close();
conn2.close();
}
}
Должно работать. Естественно изменить как нужно код, для собственных хотелок. Внимание обратить на то, что при вставке строк, не попался знак ' , его можно менять на " или `