2017-03-08 20 views
0

我正在使用表值參數將大量數據插入到各個表中。當這些表具有帶刻度的數字列並且在單個數據表中存在具有不同數量的刻度的行時,出現以下錯誤:使用表值參數插入非零比例的數值數據

傳入的表格數據流(TDS)遠程過程調用(RPC)協議流是不正確。表值參數3(「」),行0,列0:數據類型0x6C具有無效的精度或刻度

發生這種情況的示例。

  • 一個表被插入和相關聯的TVP有一個數字(6,3)柱
  • 有2行中的數據表被插入
    • 一個具有用於數字的一個值1.2柱
    • 另一個具有用於數字列

如果一個的1.23值該示例中的第二行對於數字列的值爲1.3,沒有錯誤。這是在Java中使用SQL Server 2016數據庫的Microsoft JDBC驅動程序6.0 for SQL Server中的jdbc42.jar。

回答

0

設置完整性測試並花費一個小時左右嘗試不同的事情後,我發現原因是這些值是作爲字符串插入到數據表中的,並且列的值爲零且有多個尾隨零導致這個錯誤。

「0」沒問題,「0.0」沒問題。 「0.00」不是。插入數字修正它,0.00是好的。