このモジュールを使用しています表BCPythonスクリプトを使用してネットワーク経由でIntuitアプリケーションQuickBookに接続します。これを達成するために、私は次のODBCプラグイン/DLLを使用しました。Qリモコン。
Windows では Python の Anaconda ディストリビューションを使用し、pydobc
接続文字列は次に設定された DSN を使用します。MicrosoftのODBCデータソースの管理接続するリモートコンピュータのIPアドレス:
import pyodbc
cn = pyodbc.connect(r'DSN=remote_clientname; IPAddress=192.168.0.50; Port=4500; RemoteDSN=local_clientname; openMode=F; OLE DB Services=-2;', autocommit=True)
私が経験している問題は、WindowsでのみサポートされているサードパーティのDLLと通信するために、Linux(Debian Buster)システムで実行されているのと同じコードを実行しようとしていることです。誰かがこれを行うためにDebianでKVM仮想化を使用できることを提案しました。
PyODBC(A)を使用すると、MSボックスのPythonからMS ODBCに接続するのは非常に簡単です。 KVMを初めて使用するときに、DebianのPythonスクリプトで同じMS ODBC DSNを見つける方法がわかりません。 (B)
私がしたこと:
- マイクロソフトドライバのインストールダーバン
- KVMを正常にインストールし、WindowsとODBCサードパーティのプラグインをインストールしました。
- インストール済みSQL Server Linux用Microsoft ODBCドライバ
修正する:
私SEサポートの問題PyODBCの貢献者GordThompsonは次のように述べています。「あるコンピュータ(Linuxなど)から別のコンピュータのODBC DSNエントリに接続できませんでした。」
KVM / Windows内でODBCと通信するためにスクリプトを取得するには何が必要ですか?スクリプト(B)とMicrosoftのODBCデータソース管理の間のプロキシとして機能する場所(A)のスクリプトの外にAPIを生成できますか?
答え1
ソケットライブラリ+ピクルスを使用してこの問題の解決策を作成できました。以下は私たちに道を開いた素晴らしいチュートリアルです:Pythonを使用したソケットプログラミング(ガイド)。 (ソケットを提案してくれたPython Discordチャンネルにも感謝の言葉を伝えたいです。)