2016-10-20 7 views
0

내 응용 프로그램이 제대로 작동하지만 다른 컴퓨터에서 기계에 "Transaction not connected"오류가 표시됩니다. Runtime Packager로 만든 팩을 설치하고 대상 컴퓨터의 응용 프로그램 경로에 DLL 두 개를 추가했습니다 ( ). 여전히 동일한 문제입니다.ODBC 연결로 Powerbuilder 응용 프로그램을 배포하는 방법은 무엇입니까?

내 질문에 dnsless 연결을 사용해야 작동합니까? 또는 대상 PC에 필요한 ODBC 구성에 대해 알릴 수 있습니까? 예인 경우 그 방법?

나는 odbc.ini, 시스템 변수, 레지스트리 엔트리 등등에 대해 많이 읽었지 만, 지금은 모두 섞여서 무엇을 해야할지 모르겠다.

귀하의 도움에 매우 감사 드리겠습니다.

Kris.

+0

트랜잭션 객체 (SQLCA)를 인스턴스화하고 연결 매개 변수를 설정 한 다음 연결 했습니까? –

+0

어떤 유형의 데이터베이스에 연결하고 있습니까? Microsoft SQL Server라면 SQL Server Native Runtime을 설치해야합니다. 더 많은 정보는 여기 : http://slapouttech.blogspot.com/2012/04/powerbuilder-and-sql-server-tips-on.html – Slapout

+0

@MattBalent : 네, 그랬습니다. 내 PC에서 잘 작동합니다. Oracle 데이터베이스 (두 개의 다른 서버)에서 데이터를 검색하고 있습니다. 현재 클라이언트 컴퓨터에 적절한 레지스트리 항목을 추가하려고합니다. ODBC 소스에 대해 알려야합니다. 문제는 내 컴퓨터에서 적절한 항목을 찾아서 내 보내어 클라이언트에서 가져올 수 없다는 것입니다. 내가 IP 번호와 데이터베이스 이름을 가진 항목을 기대합니다. 레지스트리에서 ODBC.INI에있는 해당 정보 이 표시되지 않습니다. – Kris

답변

0

저는 개인적으로 DSN을 사용합니다. 따라서 PowerBuilder가 알고있는 유일한 것은 DSN 이름입니다. 저 기초에, 나는 연결을 설치한다.
대상 PC에서이 동일한 DSN 이름과 필요한 드라이버로 ODBC를 구성합니다. 이렇게하면 배포 환경에 유연성이 있습니다. 예를 들어 DSN 'db'를 사용하여 내 developper의 시스템을 데이터베이스 'dev'또는 서버 'server_dev'로 참조하고 'db'가 'productionServ'서버의 'prod'데이터베이스를 가리키는 대상 시스템에 배포 할 수 있습니다.
호환성 문제는 제쳐두고, 첫 번째 것은 MySQL이고 다른 하나는 오라클 일 수도 있습니다.
대상 컴퓨터에서 원하는 데이터베이스에 액세스하고 DSN을 사용하는 경우 드라이버를 구성 할 수 있도록 드라이버를 설치하는 것이 중요합니다.

0

odbc.ini & 레지스트리와 혼동 스럽다고 말씀 하셨으므로 거기에서 시작해보십시오. (당신이 말한대로)

  • 열기 레지스트리 편집기 (승 + R, regedit를) 컴퓨터에, 필요한 ODBC 연결이 컴퓨터에 구성되어있는 가정.
  • "HKEY_CURRENT_USER \ SOFTWARE \ ODBC \ ODBC.INI"경로로 이동하십시오. 참고 : "HKEY_LOCAL_MACHINE"은 다중 사용자 컴퓨터에 사용할 수 있습니다.
  • "ODBC 연결"을 마우스 오른쪽 단추로 클릭하고 내 보냅니다. 파일 (*. reg)을 저장하십시오. 메모장에서이 파일을 열면 구성 방법에 대한 몇 가지 아이디어를 얻을 수 있습니다.
  • "HKEY_CURRENT_USER \ SOFTWARE \ ODBC \ ODBC \ ODBC.INI \ ODBC 데이터 원본"에 대해서도 같은 작업을 수행하십시오. 두 파일을 하나로 합칩니다 (메모장에서 * .reg 파일을 열고 텍스트 병합). 조심 (대상 시스템에 드라이버 경로를 실행할 수 있습니다

    1. 이 파일 (* 등록.) :

은 이제 대상 컴퓨터 (들)의 ODBC 설정에 다음과 같은 옵션이 있습니다 대상 컴퓨터에서 다를 수 있습니다.).

  • 설치 관리자가있는 경우 설치 프로그램에서 레지스트리 값을 쓰는 코드를 포함시켜보십시오.
  • PB 함수 RegistrySet()이 없으면 자체 ODBC 연결을 만듭니다.
  • 우리가 시도한 간단한 내용 : 개발 컴퓨터에서 레지스트리 항목 (* .reg 파일로)을 내보내고 위에 나열된 3 가지 방법 중 하나를 사용하여 대상 컴퓨터에서 유사한 레지스트리 항목을 만듭니다.