0

我一直在调查jtds 错误报告 sql servervarchar(max)nvarchar(max)列类型的问题(建议替换textand ntext)。

在inet、jtds、ms jdbc数据库驱动之间,唯一一致的列定义是使用

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

(有关来源等,请参见上面的链接)

其中SQL_DATA_TYPE 为“未使用”

对于varchar(max)所有驱动程序返回 -1 => LONGVARCHAR。但是,因为nvarchar(max)它们都返回 -10。这是什么类型的,它的标准如何?

4

1 回答 1

0

啊,我明白了;java sql 类型常量从某处的 sql 标准派生而来。[msdn页面显示-10是SQLDMO_DTypeNText(而不是-1 sSQLDMO_DTypeText )][1]. I can't find a page for Oracle, presumably because it's invested in java and sojava.sql.Types`是它们的参考。

于 2012-01-12T23:47:17.657 回答