2010-07-22 128 views
0

我正在研究SQL Server 2000.如您所知,有一個應用程序顯示查詢結果(查詢分析器)數據顯示在網格上,並且可以保存該網格在一個csv文件中。那很棒。SQL Server:導入和導出CSV

現在,我想將這些CSV值插入到表中。 SQL Server是否提供了任何方法?我的意思是說,自動或半自動方法(如當你從查詢分析器中讀取Excel時)。 因爲,例如,對於批量插入我可以完成,但是,它涉及很多工作。

我正在考慮開發一個應用程序,可以做到這一點(也許在Python中)但是,我不想如果其他任何東西已經存在。

回答

0

如果您只需要CSV導出/導入,我會使用BCP。速度要快得多,用於這些要求更容易(至少在我看來)。

1

如果您已經知道如何從Excel導入,則可以在Excel中打開.CSV文件並在轉換完成後將其保存爲.xls。

+0

地獄耶!不是我在找什麼,但是謝謝。 – mRt 2010-07-22 21:08:21

3

你可以看看使用DTS SSIS 要做到這一點。

DTS是你想要用於SQL Server 2000的東西(如下面的註釋所示)。

我相信你也可以直接從電子表格複製粘貼到表格中,如果你不想做任何太花哨的事情。我有一段時間沒有這樣做,所以你必須仔細檢查。

+0

實際上在SQL Server 2000中,他們被稱爲DTS - 數據轉換服務 – 2010-07-22 21:07:47

+0

糟糕!謝謝你們。糾正。 – 2010-07-22 21:10:30

1

爲什麼你要創建一個csv文件,爲什麼不直接插入你的selct語句的結果呢?假設選擇你用來建立CSV是:

select a.field1, b.field2 
from anothertable a 
join yetanothertable b on a.myid = b.myid 

爲什麼不只是做:

insert mytable (field1, field2) 
select a.field1, b.field2 
from anothertable a 
join yetanothertable b on a.myid = b.myid 

如果你真的有一個CSV文件導入,你可以這樣做使用導入嚮導,如果它是一次性交易或DTS包,如果它是您想要定期執行的可重複流程。

+0

因爲情況並非如此。我需要的是導出數據。很多原因。事實上,我在其他情況下(甚至在需要時)按照您的建議做了,甚至是從兩臺不同的服務器(使用opendatasource)。但是,我要求的是另一回事。 – mRt 2010-07-22 23:18:59