3
我在使用JTDS從SQL Server 2005數據庫中讀取視圖時遇到問題,並且發現解決方案時出現嚴重問題。(JTDS)java.sql.SQLException:將數據類型nvarchar轉換爲數字時出錯
視圖中的查詢只選擇了一切:
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)
任何幫助將不勝感激。
你可以發佈你的SQL語句以及表定義嗎? (列的數據類型很有用)。 –
我添加了視圖的數據類型。我可以在數據庫中運行查詢,但是當我嘗試用它填充結果集時,它會炸彈。 – barrongineer
您可以顯示選擇語句 –