如何使用bat文件从另一台机器执行sql server查询?

时间:2014-04-25 07:43:05

标签: sql sql-server windows batch-file

我有2台服务器。

Server1包含已安装的SQL Server数据库。 Server2是没有SQL数据库的普通Windows服务器。

我想在Server1上编写一个bat文件。它必须连接到Server1(通过传递连接字符串等),执行查询并将输出返回到Server1。任何人都可以帮忙??

服务器上不允许使用现成的工具/ exe,例如PsExec。

使用VB / C#脚本可以是另一种方式,但后来我制作它的可执行文件并放在应用程序服务器上。它也可能被IT-admin拒绝。

我正在寻找可以放在bat文件中的dos命令集,我将把它放在应用服务器中。

请建议/解释任何其他方法,例如将bat文件放在数据库服务器上并从应用程序服务器调用它。

大家好,

感谢您的帮助。 我可以使用在app服务器上运行的bat连接到数据库服务器上执行sql查询。 为此使用“sqlcmd”。

但现在的障碍是IT管理员要求使用ODBC连接而不是“sqlcmd”。

您能否指导我如何在bat文件中使用ODBC连接并连接到远程数据库?

1 个答案:

答案 0 :(得分:0)

从此代码开始,确定您可以连接。将其粘贴到.txt文件中并重命名为.vbs:

您需要在名为MyDSN的odbc admin(odbcad32.exe)中创建一个连接到SQL Server的DSN(数据源名称)。有一种方法可以做到这一点,而无需创建DSN,但我现在忘记了。

Dim oCon

Call Main


Private Sub Main()

'----------------------------------------------------------------------
' Create ADO objects
Set oCon = CreateObject("ADODB.Connection")


oCon.ConnectionString = "DSN=MyDSN;Uid=scratch;Pwd=;"
oCon.Open


If oCon.State <> 1 Then
Call MsgBox("Could not connect to the database")
Exit Sub
Else
Call MsgBox("Connected to the database")
End If  
'----------------------------------------------------------------------
End Sub

一旦你开始工作,我可以进一步提供帮助。