2016-04-13 9 views
0

В настоящее время я выполняю SQL-запрос с использованием Oracle SQL Developer и вставляю его в стандартный запрос (тот же SELECT каждый раз), а затем экспортируем в файл csv. Я хотел бы выполнить запрос через пакетный файл и поместить вывод в указанную папку. Я уже использую много пакетных файлов на этом компьютере и хотел бы сделать этот запрос частью подпрограммы.Подключиться к SQL через ODBC с помощью .bat

У моей машины есть существующее соединение ODBC с «WHPROD», но я не знаю, как его использовать. Есть ли способ подключиться к WHPROD из пакетного файла?

+0

взгляните на SQLCMD. – RGuggisberg

ответ

0

Это вряд ли возможно в пакетном сценарии сразу, без усложненной

Однако это просто сделать это с VBscript, и так как вы можете позвонить VBscript из пакетного сценария, то результат будет именно то, что вы хотите.

Вот пример того, как подключиться к Oracle и получить результаты ОТБОРНОЕ из VBS: (source)

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" 
0

I wrote an in-depth batch script после сборки базы данных MSSQL. В этом скрипте есть много замечаний, которые могут помочь вам разобраться.

В скрипте не используется ODBC, но я верю, что аргументы SQLCMD могут быть изменены для использования определенного соединения ODBC? Это может сработать для вас; а не только на сервере MSSQL.