我有一个在Postgres上工作正常的Java程序,但在迁移到Redshift时,我希望这个Postgres程序在Redshift上运行.
在Postgres中我使用了以下类,我试图在Redshift中使用它.
import org.postgresql.copy.CopyIn;
import org.postgresql.copy.CopyManager;
import org.postgresql.core.BaseConnection;
following is the program snapshot :
Connection insertConnection = OpenDBConnection(prop);
CopyIn cpIN = null;
CopyManager cm = new CopyManager((BaseConnection) insertConnection);
cpIN = cm.copyIn("COPY table_name (col1,col2) FROM STDIN WITH DELIMITER '|'");
but I'm getting following error:
Run Code Online (Sandbox Code Playgroud)
java.lang.ClassCastException:com.amazon.redshift.jdbc41.S41NotifiedConnection无法强制转换为org.postgresql.core.BaseConnection
基本上,程序所做的是,它从db表中复制一些记录,它放的是STDIN,proram处理记录,过滤并复制到其他db表.