如何使用java将blob数据类型中的数据从oracle迁移到SQL,在文件流中,我只动态发送表
在FileInputStream中,我只传递表名(表名变量 这里)。我必须从表中获取数据(oracle数据库不是从 任何文件)并将其迁移到MYSQL rest数据类型 为我工作很好 但是blob数据类型没有得到迁移 我试过的附加查询 这真的需要帮助,因为我被困在这里和整个平台上 在那件事上没有碰运气如何使用java将blob数据类型中的数据从oracle迁移到SQL,在文件流中,我只动态发送表,java,mysql,oracle,Java,Mysql,Oracle,在FileInputStream中,我只传递表名(表名变量 这里)。我必须从表中获取数据(oracle数据库不是从 任何文件)并将其迁移到MYSQL rest数据类型 为我工作很好 但是blob数据类型没有得到迁移 我试过的附加查询 这真的需要帮助,因为我被困在这里和整个平台上 在那件事上没有碰运气 I tried to migrate the blob data from oracle to MySQL workbench 8.0.17 but each time i am getting
I tried to migrate the blob data from oracle to MySQL workbench 8.0.17
but each time i am getting different error.
String insertSql=“插入”+tableName+“在此处输入代码值(”
+插入值+”;
System.out.println(“insertSql”+insertSql);
PreparedStatement storeStatement=donn.prepareStatement(插入SQL);
ResultSet loadedData=stmt.executeQuery();
如果(loadedData!=null){
ResultSetMetaData columns1=loadedData.getMetaData();
int i=1;
int j=1;
而(i 0){
系统输出打印项次(缓冲区);
input.close();
}
}//stmt.setBlob(j,输入);
setBinaryStream(1,input,input.available());
storeStatement.setString(1,
loadedData.getString(columnNames.get(i));
}否则{
System.out.println(“fffff”);
}
i++;
}
}
}
}
实际结果是blob应该从oracle迁移到mysql
平稳地
对不起,您的问题没有说清楚。你的代码太长了,你应该提供一个“最小的例子”来说明你的问题。我甚至不明白你说的“迁移一个blob”是什么意思:你(1)正在将你的程序从oracle迁移到mysql吗?或者(2)您的程序应该连接到两个数据库并将数据从oracle复制到mysql?您的第二个问题是正确的,我的程序应该连接到两个数据库并将数据从oracle复制到mysql。但是连接部分已经完成,数据类型为varchar2,Nvarchar,date,正在进行传输,但我在将Blob、clob数据类型的数据从oracle传输到MySQL时面临问题。我认为不能对Blob使用INSERT语句。你必须以不同的方式处理斑点。这些例子对你有帮助吗?您好…我尝试了所有这些示例,但没有得到任何结果…我需要在生产环境中进行此操作,因此希望以其他方式工作,因此必须为表迁移选择csv选项,这将再次成为巨大的表数将增加或硬代码传输,这不是选项。
String insertSql = "INSERT INTO "+ tableName +"enter code here values("
+ insertValues + ")";
System.out.println("insertSql"+insertSql);
PreparedStatement storeStatement = donn.prepareStatement(insertSql);
ResultSet loadedData = stmt.executeQuery();
if (loadedData != null) {
ResultSetMetaData columns1 = loadedData.getMetaData();
int i = 1;
int j=1;
while ( i <= columns1.getColumnCount()) {
//System.out.println(rsmd.getColumnTypeName(i));
type = columns1.getColumnTypeName(i);
String K= columns.getColumnName(i);
System.out.println("k==============="+K);
System.out.println(type);
if (type == "BLOB") {`enter code here`
System.out.println("ddddd");
String h= columns.getColumnName(i);
System.out.println("h==============="+h);
//System.out.println("input in sql "+input);
int ch;
while((ch = input.read()) != -1)
{ image = (Blob) loadedData.getBlob("bild");
InputStream binaryStream enter code here=
image.getBinaryStream(1, image.length());
//while (loadedData.next()) {
String l= columns.getColumnName(i);
System.out.println("l==============="+l);
InputStream m = loadedData.getBinaryStream(l);
System.out.println("input1input1input1---------
"+m);
byte[] buffer = new byte[2048];
while (input.read(buffer) > 0) {
System.out.println(buffer);
input.close();
}
}// stmt.setBlob(j, input);
storeStatement.setBinaryStream(1,input,input.available());
storeStatement.setString(1,
loadedData.getString(columnNames.get(i)));
} else {
System.out.println("fffff");
}
i++;
}
}
}
}
Actual result is that blob should be Migrated from oracle to mysql
smoothly.