我使用下面的代码连接到IBM DB2数据库并执行Bulkcopy。在执行CMD.EXECUTENONQUERY()
方法之后,我尝试验证是否在IBM Data Studio客户端界面中创建了表,但是它表示“表名未定义”。有人可以解释为什么我看不到桌子吗?
public void ExecuteBulkCopy(string connectionString, DataTable source, string destinationTableName,
int timeOut)
{
var schema = "DEVPROC";
var procName = $"{schema}.FSVPTEMP001";
var commandText =
"declare global temporary table TEMP_TRY_NEW(CPK_ID CHAR(25), VDR_ID INTEGER,P_ID CHAR(15),MPP_CPK_K_ID DECIMAL(12),MPP_P_K_ID DECIMAL(12),ODBMS_VDR_KEY_ID DECIMAL(12),DEL_ELIG_DT DATE,RW_CRT_TS TIMESTAMP,RW_CRT_PRC_ID CHAR(11),RW_UDT_TS TIMESTAMP,RW_UDT_PRC_ID CHAR(11))ON COMMIT PRESERVE ROWS;";
var connection = new DB2Connection(connectionString);
{
var cmd = new DB2Command(commandText, connection);
{
connection.Open();
cmd.ExecuteNonQuery();
var copy = new DB2BulkCopy(connection);
copy.DestinationTableName = destinationTableName;
copy.BulkCopyTimeout = timeOut;
copy.WriteToServer(source);
copy.Close();
connection.Close();
}
}
}