我可以使用IQ的直接接口從Oracle數據庫中很好地查詢行,但在簡單更新時遇到問題。我想知道我是否做錯了什麼,或者如果IQ無法處理我特定的Oracle表。無法使用LINQPad更新行4
我的表的主鍵是NUMBER(22),這導致實體的Int64。查詢有兩個數字列,我正在更新的列是一個CHAR,它是實體中的一個字符串。
這裏是我的更新...
var c = Components.Single (c => c.Componentordernumber == 119137 && c.Componentorderversion == 1);
c.Circuitordernumber = "11043913";
SubmitChanges();
Components.Where (c => c.Componentordernumber == 119137 && c.Componentorderversion == 1).Dump();
當我在LINQPad運行它,它失敗在SubmitChange()。有一個TargetInvocationException(在_InvokeMethodFast)。而內部的例外是...
這是一個解決方法,但不幸的是對我來說不是一個完整的解決方案,因爲我公司的應用程序(可能還有許多其他應用程序)需要使用NULL值作爲不同於0或-1的值。 – 2013-09-09 20:34:59
我能夠成功地更新一行,但我必須使用上面的補丁並將所有的空值設置爲long?列設置爲0.我還必須使用OCI連接模式。其他選項(「直接」)不起作用,因爲它失敗,出現此錯誤:http://forum.linqpad.net/discussion/132/oracleexception-ora-01483-invalid-length-for-date-or-number -bind可變 – 2013-09-09 20:51:05