sqlserver导入sql文件 sqlserver中通过osql/ocmd批处理批量执行sql文件的方法

也许你也同我一样在搜寻如何像mysql的source一样的命令来在sqlserver2008中执行.sql文件来导入数据或者建表。这是我从网上搜寻的一个方法。这可以解决当sql文件太大

导致无法用记事本打开而无法执行的苦脑,当然个人觉得这对于数据恢复不是很好的办法,因为数据量大的话不可能通过sql来进行恢复,这效率实在太低了。其他方法往后学会了再呈上,谢谢关注,如果你对各数据库的替换有好的数据传递方法,愿意分享的希望可以通知我地址。

    正题:::::::::::::::::::::::::

利用osql/ocmd批处理批量执行sql文件


注意:在上图中我们可以看到osql 并不支持 SQL Server 2008的所有功能,如果需要使用SQL Server 2008的所有功能可以使用ocmd命令。

有了osql/ocmd命令要批量执行sql文件当然需要写一个批处理命令,例如我们执行上面sql文件就可以在txt中编写下面的语句:

复制代码 代码如下:

osql -S"127.0.0.1" -U"sa" -P"sa" -d"Northwind" -i"%CD%/1.sql"
osql -S"127.0.0.1" -U"sa" -P"sa" -d"Northwind" -i"%CD%/2.sql"
未测试
sqlcmd -S"127.0.0.1" -U"sa" -P"sa"  -i"%CD%/1.sql" 
sqlcmd -S"127.0.0.1" -U"sa" -P"sa"  -i"%CD%/2.sql"
经过测试可行。

然后保存成sql.bat同上面的1.sql和2.sql放到同一个文件下,在执行时双击sql.bat就可以了。



注意:当报莫名其妙的错误时,很有可能是编码问题。把sql文件另存为unicode编码即可解决问题。因为中文乱码会使引号等符号隐藏掉。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页