2012-01-12 44 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

相关问题