私はDebian 8 Google CloudマシンをMicrosoft SQL 2012データベースに接続するために2日間試しています。私はデータベースが大丈夫だと知っています。なぜなら、私はWindowsでこれをやっても問題ないからです。今、私はPythonで書かれたウェブサイトコードをWindowsからDebianに移行しようとしていますが、ウェブサイト全体のデータベースにはアクセスできません。Debian 8のFreeTDSでMS SQL 2012データベースに接続できません
もちろん、私はlotを検索しています。頻繁に起こるように、私は矛盾した情報を見つけました。そして、それが "正しい"ものであると言う各ガイドは私を失敗させました。すべてのベストは、 FreeTDS email list ではないか、少なくとも、新規加入者を自動拒否していることです。
私が言ったように、私はGCloudサーバー上のDebian 8です。 SCPは認証キーの問題のために動作していないので、私はシェルへのアクセスのみを持ち、ホームディレクトリとの間でしかコピーできません。私はUnixODBC、tdsodbc、およびfreetdsをインストールしました。さらに、人々が提案したいくつかのパッケージをインストールしました。これはすべてsudo apt-get
で、ソースからではなく、どのWebサイトからも直接ではありませんでした。
私のファイルは/etc
ではありません。/etc/freetds
です。私はまた、が必要だと言ういくつかのガイドを見つけました。 "。"宛先ファイル名の先頭に。私も/etc/freetds/odbc.ini
を持っています。私のDSNを定義しています。 freetds.conf
では、データベースエントリを定義し、odbc.ini
オプションの "Databasename"は、セクション名と同じ値に設定されます(freetds.conf
)。私のドライバは/etc/odbcinst.ini
で定義されています(いいえ、私は/ etcにあるのは分かりませんが、その他は/etc/freetds
です)。私は3つのファイルを貼り付けました。ここで少し短くするために、最初のコメントを削除しました。コメントは実際のファイルにそのまま残っています。
セットアップラインは他にもいくつかありますが、 one post I found といっても、それ以外のいくつかの行がないとうまくいきます。
ここで楽しい部分があります:tsqlは完全に動作します。私がtsql -S DBName -U username
を実行すると接続しますが、同じエラーが発生するたびにisql
が失敗します。私はすべてで定義されていないデータベースの名前isql
を与える場合、それは常に
[IM002][unixodbc][driver manager] No data source name found, and no default driver specified.
[ISQLERROR]: Could not SQLConnect.
だ、私は正確に同じエラーを取得します。例えば、私は、これは何かが、それは必要なすべてのconfiguration/ini
のファイルを見つけていないことを私に示唆
isql -v testabc
でIM002
エラーを取得したいです。しかし、tsql works
、isql
(もちろん、私のPythonスクリプト)は動作しません。私はDebianを初め、このDebianマシンへのSSHアクセスしか持っていないので、これを簡単にするためにGUIツールを使うことはできません。私はBashとVIMで合理的に快適です、私はちょうどどのパッケージがどのファイルを探しているのかわかりません。私はまた、物事を働かせるために取っておくか、または取り戻すべきオプションを知っていません。
私はそれを持っていると思います。気まぐれに、私はsudo cp /etc/freetds/odbc.ini /etc/odbc.iniを試しました。私がそれをやろうとすると、isqlは機能し、私のPythonスクリプトは機能しました。ですから、私の投稿はもっと参考になりますが、Debian 8システムを使用している場合は、/ etcにodbc.iniを入れてください。たぶん、他のシステムも、私は知らない。 – AH16