我目前正在使用Oracle SQL Developer执行SQL查询并粘贴标准查询(每次都是相同的SELECT),然后导出到csv文件。我想通过批处理文件执行查询并将输出放在指定的文件夹中。我已经在这台机器上使用了很多批处理文件,并希望将此查询作为例程的一部分。
我的机器与" WHPROD"有现有的ODBC连接,但我不知道如何使用它。有没有办法从批处理文件连接到WHPROD?
答案 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服务器上。