我在網上查找過去一小時以找到特定於我的情況的答案,但沒有一個解決了我的問題。我試圖查詢MySQL數據庫(我已經成功完成),然後將結果輸出到文本文件。將SQL查詢結果導出到來自Microsoft Visual Studio的文本文件
我讀過使用bcp和「queryout」是實現此目標的最佳方法。我的代碼如下,但它繼續給我以下錯誤:「靠近'L'的語法不正確。」
我該如何解決這個問題?有沒有更簡單的方法將我的結果從Visual Studio導出到文本文件?
set @logtext =
'"
SELECT category, occurTime, sourceKeyName, recipe, "value", formulaName, startTime, endTime , BatchID
FROM dbo.Batch
LEFT JOIN dbo.BatchHeader ON Batch.uniqueBatchID = BatchHeader.uniqueBatchID
LEFT JOIN dbo.RecipeHeader ON BatchHeader.uniqueBatchID = RecipeHeader.uniqueBatchID
LEFT JOIN dbo.BReportEvent ON RecipeHeader.uniqueBatchID = BReportEvent.uniqueBatchID
LEFT JOIN dbo.RecipeFormula ON BReportEvent.uniqueBatchID = RecipeFormula.uniqueBatchID
WHERE category = 'L-FAIL-MSG'
AND occurTime >= DATEADD(day, -1, GETDATE())
AND "value" != ' '
"'
DECLARE @logtext varchar(1000)
DECLARE @cmd varchar(2000)
SET @cmd = 'bcp ' + @logtext + ' queryout "C:\Users\anduaguibe\Documents\Visual Studio 2017\Projects\HelloWorld\HelloWorld\upstreamData.txt" -U uID -P uPass -c'
EXEC master...XP_CMDSHELL @cmd
錯誤說它。建議你在L-FAIL-MSG周圍做兩個單引號,這樣''L-FAIL-MSG''(這些不是雙引號,它們是2個單引號)。看起來他們也可能是其中的其他問題。 – GandRalph