gpt4 book ai didi

java - 从一个Mysql数据库插入到另一个数据库

转载 作者:行者123 更新时间:2023-11-30 00:31:04 24 4
gpt4 key购买 nike

我正在尝试将数据从一个 mysql 数据库传输到另一个数据库。对于一个数据库,我将连接 url 作为数据库名称、用户名和密码(因为这必须存在于远程位置)。对于另一个数据库,我正在使用数据源。

public class errorlog {
public static void main(String[] args)
{
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver loaded mysql1server");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Driver loaded mysql");

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("not loaded");
}
String connectionUrl = "jdbc:mysql//localhost:3306/db1" ;

String connectionUrl2="jdbc:odbc:test";
Connection con=null;
Connection con2=null;
Statement stmt = null;
ResultSet rs = null;
PreparedStatement pstmt = null;


try {
con = DriverManager.getConnection(connectionUrl,"root","root");
System.out.println("CONNECTED1 mysql1");
con2 = DriverManager.getConnection(connectionUrl2);
System.out.println("CONNECTED2 mysql");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


try {
stmt = con.createStatement();
rs=stmt.executeQuery("select * FROM db1.db1_table");
System.out.print("Select executed");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


try {
while (rs.next()) {

int col1 = rs.getInt("col1");
String col2=rs.getString("col2");


Date TimeStamp = rs.getDate("Time Stamp");



String insertSql ="Insert into db2.db2_table (`col1`,`col2`) values(?,?)";
pstmt = con2.prepareStatement(insertSql);

pstmt.setInt(1,col1);
pstmt.setString(2,col2);


pstmt.setDate(3,(java.sql.Date) TimeStamp);

pstmt.executeUpdate();




pstmt.close();
System.out.println("insert done");
}

} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

System.out.println("out insert done");


}
}

我收到错误“没有找到适合 jdbc:mysql//localhost:3306/databaseName=db1;user=root;password=root”的驱动程序

请告诉我我错在哪里。

进一步要求 -

我想使用一个配置文件,它将保存一个时间值,并在获取数据时不断更新。Ex-文件保存值2014-03-18 12:00:00,程序将定期运行间隔1小时。我只想在文件保存时间之后获取数据。一旦运行,文件应该更新。

请让我知道我该怎么做。

最佳答案

您没有加载 MySQL 驱动程序。您已获得 ODBC 驱动程序

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

但是你需要 mysql jdbc 协议(protocol)的一些东西,例如

Class.forName("com.mysql.jdbc.Driver");

然后需要在您的项目中引用/包含 mysql 连接器 jar。

关于java - 从一个Mysql数据库插入到另一个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22513427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com