Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java将blob数据类型中的数据从oracle迁移到SQL,在文件流中,我只动态发送表_Java_Mysql_Oracle - Fatal编程技术网

如何使用java将blob数据类型中的数据从oracle迁移到SQL,在文件流中,我只动态发送表

如何使用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

在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 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.