【发布时间】:2010-02-08 18:25:02
【问题描述】:
我目前正在开发一个 java 程序,该程序将使用 Java 发行版中提供的 JDBC-ODBC 桥驱动程序访问 Microsoft SQL Server。
一切似乎都设置正确,我可以从数据库中查询基本数据,但是当我尝试运行一个在其中获取 UniqueIdentifer 字段的查询时,当我执行后续的ResultSet.getString() 时,它会失败:
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Numeric value out of range
以前有没有人经历过这样的事情?这使用 Microsoft 提供的 JDBC 驱动程序,但客户希望使用他们创建的 DSN。
如果这在我运行 Connection.getMetaData(); 时有帮助,UniqueIdentifer 字段将返回 1111 的 DATA_TYPE
【问题讨论】:
-
我对特定问题没有直接的答案,但知道 Sourceforge jTDS 驱动程序也可以与 DSN 完美配合可能会很好。另一方面,如果 MSSQL 自己的驱动程序也这样做(ODBC 是 Microsoft 专有的东西),我也不会感到惊讶,但不要把我钉在那个上面。有关详细信息,请参阅其文档。至少,除了糟糕的 ODBC 桥驱动程序之外,任何其他驱动程序总是领先一大步。
-
您有任何关于使用带有 DSN 的 jTDS 的信息吗?我环顾四周,但无法确定任何细节。
标签: java sql-server jdbc odbc-bridge