Re[3]: Paradox + MySql
От: theOne Россия  
Дата: 11.11.03 07:04
Оценка:
Здравствуйте, 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();
  }
}


Должно работать. Естественно изменить как нужно код, для собственных хотелок. Внимание обратить на то, что при вставке строк, не попался знак ' , его можно менять на " или `
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.