私のPythonスクリプトは、KVM / Windows内でLinuxからODBCに通信するのに役立ちます。

私のPythonスクリプトは、KVM / Windows内でLinuxからODBCに通信するのに役立ちます。

このモジュールを使用しています表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)

私がしたこと:

修正する:

SEサポートの問題PyODBCの貢献者GordThompsonは次のように述べています。「あるコンピュータ(Linuxなど)から別のコンピュータのODBC DSNエントリに接続できませんでした。」

KVM / Windows内でODBCと通信するためにスクリプトを取得するには何が必要ですか?スクリプト(B)とMicrosoftのODBCデータソース管理の間のプロキシとして機能する場所(A)のスクリプトの外にAPIを生成できますか?

ここに画像の説明を入力してください。

答え1

ソケットライブラリ+ピクルスを使用してこの問題の解決策を作成できました。以下は私たちに道を開いた素晴らしいチュートリアルです:Pythonを使用したソケットプログラミング(ガイド)。 (ソケットを提案してくれたPython Discordチャンネルにも感謝の言葉を伝えたいです。)

関連情報