java - (JTDS) java.sql.SQLException : Error converting data type nvarchar to numeric

标签 java sql-server jtds

我在使用 JTDS 读取 SQL Server 2005 数据库中的 View 时遇到问题,并且在寻找解决方案时遇到了严重的问题。

查询只是选择 View 中的所有内容:

SELECT * FROM encounters_view WHERE patient_id = ?

此行抛出异常:

rset = selectAllEncountersByPatientId.executeQuery();

堆栈跟踪如下:

java.sql.SQLException: Error converting data type nvarchar to numeric.
    at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
    at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)
    at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258)
    at net.sourceforge.jtds.jdbc.TdsCore.isDataInResultSet(TdsCore.java:796)
    at net.sourceforge.jtds.jdbc.JtdsResultSet.<init>(JtdsResultSet.java:134)
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:483)
    at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:776)
    at package_name.ClassName.method(Db_query_class.java:91)
    at package_name.ClassName.main(Main_class.java:36)

查看数据类型:

id (unique(numeric(16,0)),not null)
provId (uniqueid(numeric(16,0)),not null)
patId (uniqueid(numeric(16,0)),not null)
mrn (varchar(20),not null)
visitId (uniqueid(numeric(16,0)),not null)
dttm (datetime, null)
apptType (name(varchar(255)),null)
apptStatus (name(varchar(255)),null)
refProvId (uniqueid(numeric(16,0)),not null)
pay (name(varchar(255)),not null)
zip (char(10),not null)

如有任何帮助,我们将不胜感激。

最佳答案

这很可能是因为您正在加入不同数据类型的两列(一个 nvarchar 另一个数字)- 您的 nvarchar 可能包含包含不会转换为十进制字符的数字(例如 ',' 或 '. ').

关于java - (JTDS) java.sql.SQLException : Error converting data type nvarchar to numeric,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862881/

相关文章:

java - 除了金属之外,jbutton 工具提示中的快捷方式不显示在其他主题中

java - 访问数组列表中的记录

java - Java 类 DES 算法中 block 的数据类型

java - SQL Server 2008 - 如何同时获取列名和值?

sql-server - jTDS 套接字挂起并进行 C3P0 连接检查 (SQL Server 2008 R2)

java - 将数据文件的前 10 000 行写入新文件的最快方法

sql - 标记表每个分区中前 90% 的行

sql-server - 是否可以为 XML 中的数据安排外键约束?

java - ClassNotFoundException : net. sourceforge.jtds.jdbc.Driver 问题

java - SQL Server JTDS 连接问题