2016-04-13 46 views
0

kullanarak ODBC üzerinden SQL'e bağlanın Şu anda Oracle SQL Developer kullanarak bir SQL sorgusu gerçekleştiriyorum ve standart bir sorguda (her seferinde aynı SELECT) yapıştırarak bir csv dosyasına aktarıyorum. Sorguyu bir toplu iş dosyası yoluyla yürütmek ve çıktıyı belirtilen bir klasöre yerleştirmek istiyorum. Bu makinede zaten çok sayıda toplu iş dosyası kullanıyorum ve bu sorguyu bir rutin haline getirmek istiyorum.Bir .bat

Makinemin "WHPROD" için mevcut bir ODBC bağlantısı var, ancak nasıl kullanılacağını bilmiyorum. Bir toplu iş dosyasından WHPROD'a bağlanmanın bir yolu var mı?

+0

SQLCMD'ye bir bakın. – RGuggisberg

cevap

0

Bu doğrudan

o VBscript ile yapmak basittir Ancak

overcomplicated gitmeden toplu komut pek mümkün olur ve bir toplu komut dosyasından sizin VBscript çağırabilir beri, sonuç tam olarak ne istediğini olacak. İşte

Oracle bağlanmak ve VBS bir SELECT sonuçlarını almak için nasıl bir örnek: ( 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 

Ve burada toplu komut adresinin VBS çağırmak için:

@echo off 

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

Bir MSSQL veritabanı oluşturduktan sonra bir kez wrote an in-depth batch script. Bu senaryoda, gitmenize yardımcı olabilecek pek çok harika ipucu var.

Komut dosyası ODBC'yi özellikle kullanmıyor, ancak SQLCMD hatalarının ODBC tanımlı bir bağlantı kullanacak şekilde değiştirilebileceğine inanıyorum? Bu sizin için işe yarayabilir; ve sadece MSSQL sunucusunda değil.