Bir veya daha fazla çalıştırabilir bir Komut dosyası, bir Uzak Sunucuda bir veritabanı kapalı bir bilgi almak için SQL deyimleri seçin.SQL ifadesini Bash veya Perl Script'den çalıştırma?
Şu anda Veritabanı'na bağlanmak ve Tabloları görüntülemek, SQL komutlarını çalıştırmak vb. Için RazorSQL ve DbVisualizer gibi GUI Araçları'nı kullanabilirim. Ancak, bir komut dosyasından SQL komutlarını çalıştırmayı denemek istiyorum. Bash/Perl Scriptindeki cmds sonuçları.
Veritabanı çalışan Sunucu sahiptir aşağıdaki ayrıntıları:
- İşletim Sistemi: Microsoft Windows Server 2003 RS Standard Edition SP2
- Veritabanı: Microsoft SQL Server 2005
Bir Windows PC'de RazorSQL kullanarak Veritabanına bağlanırken, bağlantım Sürücü kullanır "net.sourceforge.jt ds.jdbc.Driver ".
Sonra, linux kutusuna DbVisualizer kullanırken her ikisi de gayet iyi çalışıyor gibi JDBC Sürücüsü "SQL Server (jTDS)" kullanın.
- unixODBC
- FreeTDS
- SQSH --->* ancak, bunun yüzünden derlenmiş alamadı: Yani Perl bu denemek için bir girişim aşağıdaki Paketleri indirilen Sybase ...
- Perl Modülleri: DBD :: ODBC, DBD :: JDBC, DBII
Perl gelen Veritabanına bağlanmak için http://www.freetds.org/userguide/perl.htm:
Şimdi burada bu talimatları kullanmaya çalıştı ... http://www.unixodbc.org/doc/UserManual/, DSN eklemek için: test ve kurulum unixODBC yüklemek için bu siteyi kullandı: http://www.easysoft.com/developer/languages/perl/dbd_odbc_tutorial_part_1.htmlVe bu siteyi kullanılan ama bağlantı kurmak için biraz sorun yaşıyorum.
Bunun için doğru yolda olduğumu veya connect() dizesinin neye benzemesi gerektiğini ... bana söyleyebilir misiniz? Ben ...
jdbc:jtds:sqlserver://192.168.2.200:1433/ActiveDB;appName=RazorSQL;useCursors=true
Ve ben Perl script içinden GUI komutu ODBCConfig ile oluşturulan bir DSN nasıl kullanılacağı konusunda kafam karıştı: razorsql olarak JDBC "URL" şuna benzer Perl'de MS SQL Server'a bağlanmak için gerçek bir yaşam örneği bulmakta zorlanıyor.
gibi Sürücüleri listeleme dosya görünür: odbcinst.ini
[MySQL ODBC 3.51.27r695 Driver]
Driver = /usr/lib/unixODBC/libmyodbc3.so
Setup = /usr/lib/unixODBC/libmyodbc3S.so
UsageCount = 1
[JDBC/ODBC bridge driver for java-1_6_0-sun]
Driver = /usr/lib/jvm/java-1.6.0-sun-1.6.0/jre/lib/i386/libJdbcOdbc.so
Setup = /usr/lib/jvm/java-1.6.0-sun-1.6.0/jre/lib/i386/libJdbcOdbc.so
UsageCount = 1
[TDS Driver]
Driver = /usr/lib/unixODBC/libtdsS.so
Setup = /usr/lib/unixODBC/libtdsS.so
UsageCount = 1
[net.sourceforge.jtds.jdbc.Driver]
Driver = /opt/jtds-1.3.1/jtds-1.3.1.jar
Setup = /opt/jtds-1.3.1/jtds-1.3.1.jar
UsageCount = 1
* Bu listedeki sonuncusu razorsql tarafından kullanılan aynı Sürücü, ama bunu tahmin bir kavanoz dosya beri sadece Java programları ile kullanılabilir ...
Ve bu içindedir ~/.odbc.ini
[MyDB]
Driver = /usr/lib/unixODBC/libtdsS.so
Description =
SERVER = serverName.foo.bar.local
PORT = 1433
USER = user1
Password = abc123
Database = ActiveDB
Verilen benim Perl dize göz "() bağlamak" olmalı ve bu doğru Sürücü kullanmak olacaktır nasıl olduğunu. ..?
Bunu bir Komut Dosyası ile denemede yeniyim ve başım şu anda bilgi ile dönüyor .... Bu yüzden birisinin önerebileceği herhangi bir yardım büyük beğeni topladı!
Çalışmıyorsa, bu yanıtı silerim. – simbabque
Cevap simbabque için teşekkürler, gerçekten yardım için teşekkür ederiz ..! Bu tam olarak işe yaramadı. DBI bağlantı satırında hata alıyorum: "başarısız: [unixODBC] [Sürücü Yöneticisi] Veri kaynağı adı bulunamadı ve varsayılan sürücü belirtilmedi (SQL-IM002)" ... Bu yüzden beni düşündü ve ben '$ dsn = "..." 'ifadesinin tamamı, yalnızca DSN adıyla değiştirildi, \ * "[MyDB]" .. Bu yüzden benim $ dsn = "MyDB"; Ve bu sefer komut sonunda başarısız oldu ve bu sefer farklı bir hata aldım: "İlk iletişim paketini okuyarak" MySQL sunucusuna bağlantı koptu, sistem hatası: 104 " – Matt
Neden MySQL'e bağlanmayı dener? ? Microsoft sql sunucusundan bahsetmiyor muyuz? – simbabque