我想通過JAVA上的JDBC連接向Teradata插入空數據。所有的 首先我試試這個:如何插入空數據?
PreparedStatement stmt;
String qm="Insert into db.user values (?,?,?,?,?,?,?)";
connection= DriverManager.getConnection
(
"jdbc:teradata://192.xxx.x.xx/database=DBC,tmode=ANSI,charset=UTF8","user","passw0rd" );
stmt = connection.prepareStatement(qm);
//some code here to open while loop
stmt.setObject(i,null); // This isnt working with Terada JDBC. It is working for Oracle and MSSQL JDBC
//and I finish my code
,後,我試過這個,而不是stmt.setObject(i,null);
:
stmt.setNull(i,rsmd.getColumnType(i),rsmd.getColumnTypeName(i));
rsmd.getColumnType(i)
等於97 rsmd.getColumnTypeName(i)
等於DATE
是的,它是真的我的領域是DATE。
但它給出了這樣的錯誤: ERROR : [Teradata JDBC Driver] [TeraJDBC 14.10.00.17] [Error 857] [SQLState HY000] Two different data types are being set for parameter 17 (449 & 749)
我怎樣才能解決這個問題。
感謝您的回覆,但我想在JDBC中使用preparerestatament。所以我沒有改變使用你的方法,因爲我不知道哪一列爲空 –
請參閱編輯答案的建議。 –