2013-07-22 59 views
2

我想導出一個在ms sql server 2008中出現的表格到我係統上的文本文件。 我寫在SQL Server查詢窗口輸入以下命令需要幫助,從sql server 2008導出表格到文本文件

SELECT * 
FROM [AdventureWorks].[Person].[AddressType] 
INTO OUTFILE 'C:/filename.csv' 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'; 

現在,每當我寫此命令的SQL幫助給了我錯誤incorrect syntax near 'INTO'

然後我試圖進入關鍵字交換如下

SELECT * 
INTO OUTFILE 'C:/filename.csv' 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
FROM [AdventureWorks].[Person].[AddressType] ; 

現在,它給了我錯誤incorrect syntax near 'C:/filename.csv'

請他關於這件事,請關注我。 我無法消除這些錯誤,並得到一個工作SQL

回答

5

有超過許多辦法來解決問題,在這種情況下,這裏有兩種解決方案

解決方案1 ​​

  • 右鍵點擊數據庫名稱 - >任務 - >導出數據
  • 選擇表格作爲數據源
  • 選擇平面文件目的地作爲目的地
  • 選擇一個文件名(任意文件名)(這是opitional)
  • 標記「第一數據行中列名」

就是這樣。

溶液2

DECLARE 
@saveas VARCHAR(2048) 
,@query VARCHAR(2048) 
,@bcpquery VARCHAR(2048) 
,@bcpconn VARCHAR(64) 
,@bcpdelim VARCHAR(2) 

SET @query  = 'select * from table1' 
SET @saveas  = '\\SERVER1\SHARE1\FOLDER\QueryOutput.txt' 
SET @bcpdelim = '|' 
SET @bcpconn = '-T' -- Trusted 
--SET @bcpconn = '-U <username> -P <password>' -- SQL authentication 


SET @bcpquery = 'bcp "' + replace(@query, char(10), '') + '" QUERYOUT "' + @saveas + '" -c -t^' + @bcpdelim + ' ' + @bcpconn + ' -S ' + @@servername 
EXEC master..xp_cmdshell @bcpquery 
+0

得到這個錯誤,而試圖執行slotion那您建議Microtechie「Msg 15281,級別16,狀態1,過程xp_cmdshell,行1 SQL Server阻止對過程sys的訪問。組件'xp_cmdshell'的xp_cmdshell',因爲此組件作爲此服務器的安全配置的一部分被關閉。系統管理員可以使用sp_configure啓用「xp_cmdshell」。有關啓用'xp_cmdshell'的更多信息,請參閱SQL Server聯機叢書中的「表面區域配置」。 「 –

+0

我需要將數據從SQL Server 2008遷移到teradata數據庫,因此我需要查詢將數據導出到文本文件或任何其他文件,然後我將使用此文件將數據加載到teradata數據庫,並且我必須對sql數據庫的所有表重複執行此查詢 –

1

要因爲此組件被關斷作爲這種情況的安全配置的一部分解決了錯誤「SQL Server阻止訪問過程‘sys.xp_cmdshell’的成分‘的xp_cmdshell’服務器。」首先這樣做。

- 允許更改高級選項。 EXEC sp_configure'show advanced options',1; GO - 更新高級選項的當前配置值。 RECONFIGURE; GO - 啓用該功能。 EXEC sp_configure'xp_cmdshell',1; GO - 更新此功能的當前配置值。 RECONFIGURE; GO

點擊此處瞭解詳情:http://msdn.microsoft.com/en-us/library/ms190693.aspx

0
  1. 對結果集SELECT from yourTable查詢右鍵
  2. 選擇結果另存爲...