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和批量插入的文件,但也有类似的问题。
也许如果有人可以采取性行为,看看有什么事情,理想情况下,我会在这里学习一些东西,而不是寻找一个快速的答案,除非我只是在做一些愚蠢的事情,如忘记复选框。
感谢
哇,我花了一段时间才能找出发生了什么事情就在这里!
基本上,它通过验证步骤,因为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
尔加!没有这个运气。 – Steve 2014-10-19 16:25:27