2013-03-16 72 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