2012-01-12 47 views
0

我一直在調查問題with jtds' mis-reporting of sql server's varchar(max) and nvarchar(max) column types(這是推薦的替代textntext)。什麼是sql類型-10(相關它Sql Server的nvarchar(最大))

的INET之間,JTDS,MS JDBC數據庫驅動程序,唯一的一致列定義使用

rs = Connection.getMetaData().getColumns(null,null,tableName,columnName); 
rs.next(); 
rs.getInt("SQL_DATA_TYPE"); 

發現(見上面的鏈接源等)

SQL_DATA_TYPE is "unused"

對於varchar(max)所有驅動程序返回-1 =>LONGVARCHAR。但是,對於nvarchar(max),它們都返回-10。這是什麼類型,它是如何標準的?

回答

0

啊,我明白了; java sql類型常量從某處的sql標準派生。 [msdn頁面顯示-10是SQLDMO_DTypeNText(而不是-1 s SQLDMO_DTypeText )][1]. I can't find a page for Oracle, presumably because it's invested in java and so java.sql.Types`是它們的參考。

+0

如果這是您要查找的內容.. Oracle java.sql 。類型擴展名:http://docs.oracle.com/cd/B28359_01/java.111/b31224/oraint.htm#g1076412 – Glenn 2012-01-20 14:31:16

+0

不是,Oracle似乎已經決定不需要將映射文檔記錄爲整數常量,考慮到它們的錯誤代碼,這有點奇怪。 – Stephen 2012-01-22 21:28:23

相關問題