0

我試圖將一組平面文件導入到SQL服務器數據庫中。我下載並安裝了Oracle SQL Developer for Mac OS。我安裝了適當的插件,可以很好地連接到數據庫,創建表並執行查詢。問題是我想使用批量插入將一些製表符分隔的文件導入到數據庫中。事情是,雖然,大容量插入似乎不工作。批量插入代碼如下Oracle SQL Developer Mac OS無法批量插入SQL服務器數據庫

BULK INSERT sessions 
FROM '/.../sessions.txt' 
WITH (FIELDTERMINATOR='\t',ROWTERMINATOR='\n') 

這是錯誤日誌中我得到

Error starting at line 1 in command: 
BULK INSERT sessions 
Error at Command Line:1 Column:0 
Error report: 
SQL Error: Incorrect syntax near 'sessions'. 
Error starting at line 2 in command: 
FROM '/..../sessions.txt' 
Error at Command Line:2 Column:0 
Error report: 
SQL Error: Incorrect syntax near the keyword 'FROM'. 
Error starting at line 3 in command: 
WITH (FIELDTERMINATOR='\t',ROWTERMINATOR='\n') 
Error at Command Line:3 Column:0 
Error report: 
SQL Error: Incorrect syntax near '('. 

回答

0

BULK INSERT是在SQL Server上執行的語句。涉及的文件名稱在NT部署的SQL Server實例的上下文中進行了介入。 '/.../sessions.txt'不是有效的NT文件名,NT使用\作爲完整路徑文件名中的目錄分隔符。

+0

試了一下。仍然不起作用。它可能與Mac OS中的路徑名格式有關(路徑開始時沒有驅動器名稱)?如果是這樣,是否有解決辦法? – user1261046 2012-07-09 12:31:21

+0

該路徑必須是SQL Server主機上的文件(包括提供了適當的網絡訪問權的UNC文件名),而不是Mac上的文件。 – 2012-07-09 12:42:46

+0

如果SQL服務器是Amazon RDS實例,該怎麼辦? – user1261046 2012-07-09 13:03:43

0

嘗試0x0a作爲行終止:

BULK INSERT sessions 
FROM '/.../sessions.txt' 
WITH (FIELDTERMINATOR='\t', ROWTERMINATOR='0x0a')