使用.bat通过ODBC连接到SQL

时间:2016-04-13 20:05:35

标签: sql batch-file odbc

我目前正在使用Oracle SQL Developer执行SQL查询并粘贴标准查询(每次都是相同的SELECT),然后导出到csv文件。我想通过批处理文件执行查询并将输出放在指定的文件夹中。我已经在这台机器上使用了很多批处理文件,并希望将此查询作为例程的一部分。

我的机器与" WHPROD"有现有的ODBC连接,但我不知道如何使用它。有没有办法从批处理文件连接到WHPROD?

2 个答案:

答案 0 :(得分:0)

如果没有过于复杂的话,在批处理脚本中几乎不可能这样做

但是使用VBscript很简单,因为你可以从批处理脚本中调用VBscript,结果就是你想要的结果。

以下是如何连接到Oracle并从VBS检索SELECT结果的示例:(matrix

Dim strCon

strCon = “Driver={Microsoft ODBC for Oracle}; ” & _
         “CONNECTSTRING=(DESCRIPTION=” & _
         “(ADDRESS=(PROTOCOL=TCP)” & _
         “(HOST=Server_Name)(PORT=1521))” & _
         “(CONNECT_DATA=(SERVICE_NAME=DB_Name))); uid=system;pwd=system;”

Dim oCon: Set oCon = WScript.CreateObject(“ADODB.Connection”)
Dim oRs:  Set oRs  = WScript.CreateObject(“ADODB.Recordset”)
oCon.Open strCon

Set oRs = oCon.Execute(“SELECT name from v$database”)

While Not oRs.EOF
   WScript.Echo oRs.Fields(0).Value
   oRs.MoveNext
Wend
oCon.Close

Set oRs = Nothing
Set oCon = Nothing

以下是如何从批处理脚本调用您的VBS:

@echo off

start "C:\\yourbatchfolder\\yourscript.vbs"

答案 1 :(得分:0)

I wrote an in-depth batch script一旦构建了MSSQL数据库。该剧本中有很多很好的提示可以帮助你开始。

该脚本不是专门使用ODBC但我相信SQLCMD args可以更改为使用ODBC定义的连接?这可能对你有用;而不只是在MSSQL服务器上。