我正面臨從Java執行sqlcmd的錯誤。我的代碼如下:從Java調用SQLCMD 7
Process process = Runtime.getRuntime()
.exec("sqlcmd -m-1 -S localhost,1433 -d my_server -U sa
-P abc -Q \"select * from Assests where AssetID >
'G123204E4-1234-4A31-B37B-0092D68DA429'\" -k2 -W
-h-1 -s\",\" -o \"D://Assests.csv\"");
在運行從SqlClient中的sqlcmd其工作正常,但在Java它給下面的表達式錯誤:
Msg 4145, Level 15, State 1, Server SANDEEPB-PC, Line 1 An expression of non-boolean type specified in a context where a condition is expected, near 'AssetID'.
然而,當我改變「>」爲「=」 ,它工作正常。
有人可以告訴我爲什麼會發生這種情況,我能做些什麼呢?
只是好奇,你爲什麼不使用JDBC? 另外,看起來像AssetID是一個varchar,'>'操作符沒有意義,因爲它不是確定性的。 「G123204E4-1234-4A31-B37B-0092D68DA429」是什麼? – dougEfresh
嘗試使用「\>」轉義「>」。 –
無法通過使用「\>」來轉義「>」 – sandybo