私は1つ以上のスクリプトを実行できるPerlまたはBashのスクリプトを書こうとしていますを選択してリモートサーバ上のデータベースから情報を取得します。BashまたはPerlスクリプトからSQL文を実行していますか?
現在、RazorSQLやDbVisualizerなどのGUIツールを使用して、データベースに接続してテーブルを表示し、SQLコマンドを実行することができます...しかし、スクリプトからSQLコマンドを実行して、 Bash/Perlスクリプトのcmdsの結果です。
データベースを実行しているサーバーは、次の詳細があります。
- オペレーティングシステム:のMicrosoft Windows Server 2003のRSのStandard Edition SP2
- データベース:のMicrosoft SQL Server 2005の
Windows PC上でRazorSQLを使用してデータベースに接続するとき、私の接続はドライバ"net.sourceforge.jt ds.jdbc.Driver "。
私のLinuxのボックスでDbVisualizerを使用する場合は、JDBCドライバ「SQL Server(jTDS)」を使用します。どちらもうまくいくようです。
だから、Perlのからこれをしようとする試みで、私は次のパッケージダウンロード:
- をunixODBCの
- FreeTDSの
- SQSHのため--->*しかし、私はそれはコンパイルすることができませんでしたSybaseの...
- Perlモジュール:DBD :: ODBC、DBD :: JDBC、DBI
、テストとセットアップのunixODBCをインストールするには、私はこのサイトを使用:http://www.easysoft.com/developer/languages/perl/dbd_odbc_tutorial_part_1.html
をこのサイトで使用:DSNを追加するには、http://www.unixodbc.org/doc/UserManual/を...
今、私はここにこれらの指示を使用しようとしました:http://www.freetds.org/userguide/perl.htmを、Perlのからデータベースに接続するにはしかし、私はそれを接続するいくつかの問題を抱えています。
私は正しいパスかどうか、またはconnect()の文字列はどのように見えるのでしょうか? RazorSQLでJDBC「URL」は次のようになります。
jdbc:jtds:sqlserver://192.168.2.200:1433/ActiveDB;appName=RazorSQL;useCursors=true
そして私は、私はPerlのスクリプト内からGUIコマンドODBCConfigにで作成したDSNを使用する方法として困惑している...私はよPerlでMS SQL Serverに接続するための実際の例を見つけるのが難しい。
ドライバをリストファイルは次のようになります。このリストの最後のものはRazorSQLで使用したのと同じドライバーであるが、それはjarファイルなので、私はそれを推測* 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
Javaプログラムでのみ使用できます...
そして、これはどのように私はPerlで文字列ルック "()を接続する" 必要があり、それが使用する権利ドライバーだろう、ということを考えると〜/ .odbc.iniを
[MyDB]
Driver = /usr/lib/unixODBC/libtdsS.so
Description =
SERVER = serverName.foo.bar.local
PORT = 1433
USER = user1
Password = abc123
Database = ActiveDB
です。 ..?
私はこれをスクリプトで試してみるのは新しいですし、私の頭は現在情報で回転しています....誰かが提供できる助けがあれば、大いに感謝します!
問題が解決しない場合は、この回答を削除します。 – simbabque
返信simbabqueありがとう、私は本当に助けていただきありがとうございます..!それは正確には機能しませんでした。 DBI接続ラインでエラーが発生しました: "[unixODBC] [ドライバマネージャ]データソース名が見つからず、デフォルトドライバが指定されていません(SQL-IM002)..." '$ dsn =" ... "'をDSNの名前だけで置き換えました。\ * ie "[MyDB]" ..私は 'my $ dsn =" MyDB ";を持っていました。今回はコマンドが失敗するまでに時間がかかっていましたが、今回は別のエラーが発生しました:「初期通信パケットを読み込んでMySQLサーバとの接続が切断されました。システムエラー:104」 – Matt
MySQLに接続しようとするのはなぜですか?私たちはMicrosoft SQL Serverについて話していませんか? – simbabque