SQL Server导入导出向导(SQL Server Express)

问题描述:

所以我有一段时间导入CSV文件。最终目标是创建一个可重复的过程来导入文件。我已经能够导入文件的唯一方式是使用MS Access(导入到Access然后导出到SQL Server),并且愉快而愉快地进行操作。SQL Server导入导出向导(SQL Server Express)

但肯定SQL Server(Express或其他)应该能够导入它也。

的文件是在野外这里:http://ourairports.com/data/和具体为:http://ourairports.com/data/airports.csv

这是一个巨大的数据集有(现实世界的数据)打,我有正常化它的设计,将其带入SSRS什么不是,很大程度上是为了学习,并且有东西来“展示”未来的雇主。

但是,如果该文件将导入没有错误,我会被诅咒。理想情况下,列将适当地导入和转换,即数字列最终应在定义为Int的表中或任何最合适的表中。

最常见的错误,我看到的是:

Data conversion failed. The data conversion for column "wikipedia_link" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page." 

理想情况下,我想通过导入T-SQL和批量插入的文件,但也有类似的问题。

也许如果有人可以采取性行为,看看有什么事情,理想情况下,我会在这里学习一些东西,而不是寻找一个快速的答案,除非我只是在做一些愚蠢的事情,如忘记复选框。

感谢

+0

尔加!没有这个运气。 – Steve 2014-10-19 16:25:27

哇,我花了一段时间才能找出发生了什么事情就在这里!

基本上,它通过验证步骤,因为SQL查看映射并将表中列的数据类型与csv的前几行进行比较。 (我相信前8排)

在这种情况下,前8行都是空白的!含义SQL没有问题,因为没有要检查的数据。

然后,你去导入和SQL命中与链接(第41行)的第一行,然后打破验证。

不幸的是,你不能去改变列的数据类型,并期望它工作,因为它不。 (谢谢微软!)

这里的一个解决方案是将一个(理想的所有)行与Wiki链接,到电子表格的顶部并重新导入。

编辑

AHHA!真正的解决方案!有一个注册表项更改,用于设置excel验证的行数。将其更改为零使检查器查看顶部16,000行。

您需要更改以下注册表项为零:

32 Bit Machine: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows 

64 Bit Machine: 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows 
+0

PS。未来的问题应该是代码相关:) – KidCode 2014-10-20 15:56:40

+0

感谢您的关注。该文件确实在Excel中“按原样”从网站下载。 MS Access似乎也很高兴地将其导入并成功导出到SQL Server。 但是,SQL Server本身并不想按原样导入它,并且在导入之前对csv进行排序只会更改发生不可恢复错误的行。 – Steve 2014-10-20 22:36:58

+0

我最终将只看代码解决方案,以创建一个可重复的流程,部分使用批量导入(T-SQL)。 – Steve 2014-10-20 22:44:46