将分隔文件导入 SQL Server

soa*_*dos -2 sql-server import

我正在尝试将一个大文件导入 SQL 服务器,它是 | 定界。

我对数据基本上一无所知,我只想将其导入。

当我转到 Database->tasks->import 时,我使用高级选项来建议类型,并提供填充。

问题是该例程不会遍历整个文件,即使我指定了大量行(1000000000),因此我不断收到截断-> 错误、更改类型、重新启动导入等错误。

有一个更好的方法吗?

注意:该文件与 SQL Server 不在同一台机器上

Ada*_*nes 6

我会使用批量插入。如果您有分隔文件,那应该很容易。

http://msdn.microsoft.com/en-us/library/ms188365.aspx

一个示例看起来像这样

BULK INSERT dbo.MyTable
   FROM 'c:\test\test.txt'
   WITH 
      (
         FIELDTERMINATOR ='|',
         ROWTERMINATOR =' \n'
      );
Run Code Online (Sandbox Code Playgroud)

编辑:

根据给定的要求(不能复制文件,不能使用共享),我的建议是开发自己的 SSIS 包。在包中,您将能够选择源并使用数据类型。当我使用它时,建议类型似乎是一个不断错过的东西,所以我不会依赖它。我会查看 Excel 中的一行数据,并确定应该使用什么数据类型和大小。抱歉,这里没有灵丹妙药。

注意:如果您想从那一点开始,而不是从头开始,您可以通过导入向导并保存包。