根據一些建議,我使用bcp Utility來編寫SQL server
表到.cvs
文件,所以我可以稍後將數據傳輸到具有相同結構的informix
表。bcp實用程序寫入遠程服務器?
我SQLServer的存儲過程:
ALTER PROCEDURE [dbo].[TestCVS]
AS
BEGIN
declare @sql nvarchar(4000)
select @sql = 'bcp "select * from ML..gmp4vacationbalance" queryout c:\ss\Tom.cvs -c -t, -T -S' + @@servername
exec master..xp_cmdshell @sql
END
我有一個關於這個程序的四個問題:
1 - 如何讓這個過程寫remote server
,而不是本地服務器@@servername
,因爲允許特定服務器訪問我的sql服務器是不安全的?
2,如何允許過濾特定的條件下查詢: 說我想寫這樣的查詢:
select * from ML..gmp4vacationbalance where balance_date = @date AND emp_num = @empNum
3,當我執行的程序,我得到的數據是這樣的:
爲什麼第三列出現這樣的損壞,它的varchar
desc寫在?
4時,我想通過管|
而不是逗號,
這樣
select @sql = 'bcp "select * from ML..gmp4vacationbalance" queryout c:\ss\Tom.cvs -c -t| -T -S' + @@servername
我收到以下錯誤界定:
至少我會在遠程服務器中運行bcp命令並從那裏連接到SQL Server。當你不必處理xp_cmdshell時,處理錯誤通常要簡單得多。 –
你需要逃避|因爲它在命令行上有特殊含義,請嘗試^ | –
@詹姆斯:你能解釋更多的答案嗎 –