我在开发服务器上有一个数据库表,在我使用包含140万行的CSV文件的导入例程运行它之后,该表已完全填充。

我在桌面上运行了数据库发布向导,现在我的本地计算机上有一个286MB的SQL脚本。问题是,我无法弄清楚如何运行它。如果我将其加载到SQL Server Management Studio Express中,我会看到一个警告窗口,上面写着“操作无法完成”。

关于如何运行此SQL脚本的任何想法?

有帮助吗?

解决方案

在单个事务中运行大型事务并不是一个好主意。因此,我建议将文件分解为更小,更易于管理的块。

另一个选择是查看直接导入CSV数据的其他一些方法。

其他提示

使用 sqlcmd 工具执行文件..

sqlcmd -S myServer\instanceName -i C:\myScript.sql

如果您有无法解释的“脚本错误”,对于包含多个INSERT的大型sql文件(> 100MB),只需替换“INSERT INTO”即可。通过“GO INSERT INTO”在您的文件中,这将减少交易的大小。

CodePlex上的此工具( Big SQL Script File Runner )将运行带有日志和GUI的任何大小的脚本文件。

加入Gulzar Nazim的回答: 如果仍然出现故障,请尝试指定 -f :

的SQL文件的“>代码页

sqlcmd -S myServer \ instanceName -d databaseName -i C:\ myScript.sql -f 65001

我试图从SQLite导入.dump文件(默认为UTF-8),并且sqlcmd在遇到第一个特殊字符后仍然抛出错误。 -f 65001 为我修好了。

为什么不直接使用DTS导入CSV文件?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top