嘗試真的很難使用-v開關將變量傳遞給SQL腳本(Python),但似乎無法獲得正確的語法。我收到以下錯誤:Python/SupProcess/SqlCmd /使用-v開關來傳遞變量
(注意它是如何失去了C:從參數和附加關閉反斜線)
[標準輸出] SQLCMD:「:\用戶\公用\的Myproj \測試\ WorkingFolder \數據庫\「':無效參數。輸入' - ?'對於
在服務器端的幫助,這是我的語法:
FILENAME = N'$(LOCATION)\MyDatabase.mdf'
下面是我的代碼
_varText = 'LOCATION="C:\\Users\\Public\\MyProj\\Tests\WorkingFolder\\Database"'
command_process = SubP.Popen(['sqlcmd','-b', '-E', '-S', _server, '-v', _varText , '-d', _database, '-i', filepath],
stdin = SubP.PIPE, stdout = SubP.PIPE, stderr = SubP.STDOUT, shell = True)
聖克拉波拉 - 我終於必須做一個工作(對於任何人後來閱讀)。在python結尾,我用一個標記替換了冒號(我選擇了「{col}」,然後在T-SQL結尾做了反向替換。它並不漂亮,但它讓我有了這個問題。發送一個冒號 –