【发布时间】:2008-09-23 18:29:29
【问题描述】:
我经常有需要进入 SqlServer 的 Excel 或文本中的数据。我可以使用 ODBC 来查询 Excel 文件,我可以解析文本文件。不过,我想要的是一些工具,它可以轻松地抓取数据并将其放入表格中。有人知道这样的工具吗?
【问题讨论】:
标签: ssis
我经常有需要进入 SqlServer 的 Excel 或文本中的数据。我可以使用 ODBC 来查询 Excel 文件,我可以解析文本文件。不过,我想要的是一些工具,它可以轻松地抓取数据并将其放入表格中。有人知道这样的工具吗?
【问题讨论】:
标签: ssis
您是否尝试过 SQL Server 导入/导出向导?
在 SQL Server Management Studio 中,右键单击您的数据库名称,然后选择 Tasks 菜单,Import Data。对于数据源,选择 Microsoft Excel,浏览到 .XLS...
【讨论】:
如果您使用的是 Sql Server,请查看 Integration Services (SSIS)。
【讨论】:
你也可以看看parse-o-matic
【讨论】:
根据您拥有的 SQL Server 版本使用 DTS 或 SSIS。有一个导入向导可以帮助您入门,但数据导入很少是简单的,并且通常涉及某种数据清理,以便您的传入数据可以被您打算存储它的表所接受。根据我的经验,Excel 数据在这方面通常特别糟糕,因为它通常一开始就没有正确存储在 Excel 中。
【讨论】:
我还没有看到可以做到这一点的商业工具。我一直在工作中创建这种工具,并且数据验证并非易事。这只是确保您没有将不良数据放入数据库。
我发现对于简单的数据转换需要像FileHelpers 这样的东西非常好。它仍然需要编程。这个框架相当容易使用,有一点经验的人可以为你解决一些问题。
进一步考虑,您可以使用 SQL Server bcp utility 上传文本文件的内容。这是一个命令行实用程序,有很多开关。我建议您先在测试表上进行试验,然后再在生产表中使用它。
我已经有一段时间没有使用它了,所以我不记得你是否可以直接使用 Excel 电子表格。在任何情况下,文本文件总是最容易处理的。
【讨论】:
似乎很容易编写一个脚本来读取文本文件,并将其转换为“INSERT * into TABLE”Sql 语句。我怀疑这已经完成了,但是使用您最喜欢的脚本语言,一个简单的实现将少于 100 行代码。
嘿,谷歌说 SQLServer 自带这样一个工具,BULK INSERT:
【讨论】: