我試圖讀取一個SQL文件,由powershell執行。一切正常,除了powershell由於分隔符引發錯誤。 所以我的問題是我將如何去在我的sql文件中使用分隔符(我只能對sql文件進行小的更改,其代碼必須保持相對不變),但通過PowerShell正確加載它。如何通過PowerShell使用SQL分界符
繼承我的代碼從這兩個文件和我得到的錯誤。先謝謝你。
PowerShell的:
$sql = (Get-Content $pwd\NewClient.sql) | Out-String
$cmd.CommandText = "USE $dbname"
$cmd.ExecuteNonQuery()
$cmd.CommandText = $sql
$cmd.ExecuteNonQuery()
SQL:
delimiter //
......
end;//
delimiter ;
異常調用 「的ExecuteNonQuery」 和 「0」 的說法(S):「你在你的SQL語法錯誤;檢查手冊,該手冊對應於您的MySQL服務器版本的正確語法使用附近'定界符// 創建觸發stop_time_insert插入停止後在第1行「
你能發送SQL代碼嗎?另外,我不認爲這個使用語句會對第二次調用ExecuteNonQuery產生任何影響。 –
對不起,我怎樣才能向你發送代碼?我做了一個快速搜索,發現SO沒有PM選項。我應該只在這裏粘貼代碼嗎? – G3TH
對不起,我第一次誤解了這個問題。我猜想這個問題與兩個系統之間的線路終結器有關。我的猜測是,mysql正在拾取「分隔符//創建觸發器......」在一行上,導致語法錯誤。我不知道如何解決這個問題。 –