【问题标题】:What is sql Type -10 (relating it Sql Server's nvarchar(max))什么是 sql Type -10(与 Sql Server 的 nvarchar(max) 相关)
【发布时间】:2012-01-12 23:38:43
【问题描述】:

我一直在调查问题with jtds' mis-reporting of sql server's varchar(max) and nvarchar(max) column types(建议替换textntext)。

在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。这是什么类型的,标准如何?

【问题讨论】:

    标签: sql-server jdbc varcharmax


    【解决方案1】:

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

    【讨论】:

    • 如果这是你要找的...... Oracle java.sql.Types 扩展:docs.oracle.com/cd/B28359_01/java.111/b31224/…
    • 并非如此。 Oracle 似乎已经决定不需要记录这些常量到整数的映射。考虑到他们的错误代码,这有点奇怪。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2018-05-22
    • 1970-01-01
    • 2011-02-22
    • 2017-10-12
    • 2015-07-08
    • 1970-01-01
    相关资源
    最近更新 更多