내 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 채널에도 감사의 말씀을 전하고 싶습니다.)

관련 정보