从Windows命令提示符运行本地SQL脚本文件以更新远程SQL Server数据库

时间:2016-02-16 05:21:35

标签: c# sql sql-server batch-file cmd

我正在使用一个SQL文件,它将数据更新到远程数据库。我的SQL文件没问题。现在要求从命令提示符运行此SQL文件。有没有办法从命令提示符或批处理文件运行此SQL文件?

我正在使用SQL Server 2012,而SQL文件在我的本地计算机上。

任何人都可以帮忙。提前谢谢。

修改

我尝试使用sqlcmd通过我的数据库连接失败进行连接

1 个答案:

答案 0 :(得分:4)

是的,您可以从命令提示符运行SQL文件。请使用sqlcmd。 您可以在此处找到sqlcmd的文档。 https://msdn.microsoft.com/en-us/library/ms162773.aspx

修改 您可以使用以下代码。您必须为自己的变量设置值:

sqlcmd -e -x -r -b -W -U %user% -S %server% -d %db_name% -P %pass% -i %sqlfile% -r1

%server%的值设为serverIP\instancename

编辑2: 完整的脚本应该接近这个:

    Set scriptfile=InsertDB.sql
    Set dbserver=
    set /p dbserver=Database Server :
    Set dbname=
    set /p dbname=Database Name :
    Set usrname=
    set /p usrname=Database Username : 
    Set passw=
    set /p passw=Database Password: 
    set scriptPath=%~dp0
    sqlcmd -e -x -r -b -s"| ", -W -U %usrname% -S %dbserver%  -d %dbname% -P %passw% -i "%scriptPath%%scriptfile%" -r1
    Pause&Exit