2013-03-16 55 views
0

任何人都知道如何執行內聯加載到SQL服務器,我有DsGen軟件由TCP委員會提供,它生成的數據文件的擴展名爲.dat。是否有任何機制將這些文件直接加載到SQL數據庫(在生成期間)。我已經完成了使用導入/導出嚮導,但不是內聯加載。內聯.dat文件加載到SQL服務器數據庫

+0

文件是否在生成期間以某種方式鎖定?嘗試在加載時複製,讀取等文件。 – alzaimar 2013-03-16 09:19:27

+0

生成的文件的擴展名爲.dat,在導入/導出嚮導中,我必須將其更改爲.txt,然後分別導入每個文件,我正在尋找一種方法,在生成或自動生成後自動導入所有文件直接進入MSSQL數據庫,我可以用.dat文件做到這一點嗎? – Hawk 2013-03-16 12:08:19

回答

1

有幾種方法可以完成你的任務,這裏有兩個。

  1. 您可以使用BULK INSERT命令導入它們。基本上,導入wizzard的功能大致相同,但是讓我們使用一個漂亮的GUI來選擇各種選項。

  2. 您可以在運行wizzard時保存DTS包,創建SQL Server代理作業並使用sp_start_job存儲過程執行此作業。

我喜歡BULK INSERT,因爲它更容易實現。只需在選項旁邊玩,直到你得到你想要的。

+0

我可以將生成器寫入表直接放入sql服務器數據庫中。該軟件名爲dsgen,它具有如下命令: create table customer_address ( ca_address_sk integer not null, .... ); 有說法,我可以添加到這樣的代碼直接寫入表到數據庫中,在不使用批量插入? – Hawk 2013-03-16 12:32:11

+0

通常是'INSERT INTO customer_address(ca_address_sk,..)值(...)'。你可以配置DSGEN來做到這一點嗎?但是,BULK INSERT非常快*。 – alzaimar 2013-03-16 14:08:45

+0

再次,這是一個問題,DSGen是用C++寫的,我可以編寫代碼來做到這一點,也許還可以利用ADO.net鏈接呢? – Hawk 2013-03-17 04:24:16