将数据从 .txt 文件导入 SQL Server 2005 Express

Posted

技术标签:

【中文标题】将数据从 .txt 文件导入 SQL Server 2005 Express【英文标题】:Importing Data from .txt file to SQL Server 2005 Express 【发布时间】:2011-01-13 19:37:12 【问题描述】:

我有一个制表符分隔的 .txt(非常小的文件,只有 10 到 15 个数据集),这个文件有一些列,如 PrdName、PrdSize、PrdWeight、PrdCode 等等。

现在我想导入两列 PrdSizePrdCode 并将其导入我的数据库表的列中。 我已经创建了列,但是如何创建导入子句并将数据从 .txt 文件传输到 SQL Server?谢谢

【问题讨论】:

【参考方案1】:

看看这个帖子:Import/Export data with SQL Server 2005 Express,你可以使用多个选项。

【讨论】:

我明白了,那我去下载指定的工具包...谢谢 在 SQL Server 2000 中,您可以在对象资源管理器中右键单击数据库并选择任务 - 导入数据... 好吧,那我就这样吧。那么Import Clause怎么样,我需要在导入数据之后创建import Clause吗?在这个管理工作室可以吗? Jasmine,您可以在向导结束时将其保存为一个包,然后将该包作为作业或从您的程序执行。但你的最终目标是什么?是一次性加载还是长期自动化解决方案? Jasmine,您不能在 SQL Server 2000 中创建 SSIS 包,但可以创建 DTS 包(类似,但技术较旧)。有关 SQL Server 2005 Express 中的 SSIS/DTS 兼容性,请参阅 msdn.microsoft.com/en-us/library/…。【参考方案2】:

由于您拥有 express 版本,因此您需要使用 BCP 或使用其他东西编写程序。

【讨论】:

能否在 SQL Server 2000 上执行此任务?我也在另一台电脑上。它基本上是一个非常小的 .txt 文件。 @Jasmine Appelblad SQL 2000 DTS 有一个 FileSource,但我不知道目标是否可以是 SQL 2005 express。你应该试试看【参考方案3】:

如果您有大量数据,或者需要自动化流程,请务必考虑前面提到的 BCP。但是,我经常使用 excel 通过执行以下操作将一次性数据源(几百到几千)行数据从奇数源加载到 SQL Server:

将数据输入到 excel 中(这通常很容易),假设您获得带有“Prdsize”的 A 列和带有 PrdCode 的 B 列,在 C 列中输入公式:

="INSERT INTO MYTABLE(PRDSIZE, PRODCODE) VALUES (" & a1 & "," & B1 & ")" 

(换句话说,使用 Excel 公式创建语法正确的 SQL - 您可能需要在字符串值周围添加引号等)

然后将该公式一直粘贴到 C 列。然后将生成的 sql insert 语句复制/粘贴到 SQL Management Studio 或任何其他可以执行 SQL 并执行它的工具中。

绝对是一项“手动”工作,但对于一次性数据加载而言,这非常好。

PS:您需要验证 XL 公式和生成的 sql 语法 - 我的示例很接近,但我没有测试它。

【讨论】:

谢谢 EJB。 .txt 文件非常小,但我只需要从程序开始。只需要创建一个 Import 子句。

以上是关于将数据从 .txt 文件导入 SQL Server 2005 Express的主要内容,如果未能解决你的问题,请参考以下文章

将txt文件导入sql server 2008数据库中,出现警告 0x80049304:

将数据从 txt 文件导入 IBM netezza SQL 数据库的错误

BULK INSERT将CSV或TXT文件导入到SQL Server

SQL Server 2005导入数据时出错,导入的是TXT文本格式

由于日期格式,将数据从 txt 文件导入 IBM netezza SQL 数据库时出错

,如何把txt文本数据导入SQL Server2005数据库中