2013-10-20 1 views
2

Delphi 7, ADO 및 ORACLE을 사용하는 응용 프로그램을 개발했습니다. 사용하는 공급자는 OraOLEDB입니다. oracle 서버에 연결하려면 무엇을 설치해야합니까? Win7에 64 배 델파이 :Delphi 7 and oracle (oraoledb)

7 내가 오라클 사이트에서 OraOLEDB_90101를 설치

OS를 (목록 응용 프로그램 또는 드라이버하시기 바랍니다). 그래서 델파이에서 adoConnection에서 OraOLEDB를 볼 수 있습니다.

DS2 = 
(DESCRIPTION = 
(ADDRESS_LIST = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.254.50)(PORT = 1521)) 
) 
(CONNECT_DATA = 
    (SID = ict) 
    (SERVER = DEDICATED) 
) 
) 

나는 또한 (C를 호스트에서 "10.1.254.50 DS2"를 정의 : D : \ 오라클 \ ora90 \ 네트워크 \ ADMIN에 내 tnsnames.ora 파일이 나는 환경 변수 (시스템 & 사용자)에 TNS_ADMIN을 정의 : \ Windows \ System32 \ drivers \ etc). 명령 프롬프트에서 "tnsping ds2"를 할 수 있지만 ADOConnection을 양식에 추가하고 connectionString을 다음과 같이 설정할 때마다 : "Provider = OraOLEDB.Oracle.1; 보안 정보 유지 = False; 사용자 ID = tehranvu; 데이터 소스 = ds2"및 TRUE로 연결을 선택하면 오류 메시지가 표시됩니다. "ORA 12154 : TNS : 서비스 이름을 확인할 수 없습니다." UDL 파일을 만들었으며 "연결 테스트"가 정상입니다. (연결 문자열을 udl 파일에서 복사해도 작동하지 않습니다!) !!!!

나는에 연결 문자열을 설정합니다

"Provider=OraOLEDB.Oracle;Persist Security Info=True; 
UserId=xxxx;Password=xxxx;Data  Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = 
(PROTOCOL = TCP)(HOST = DS2)(PORT = 1521)))(CONNECT_DATA =(SID = ict)(SERVER = 
DEDICATED)(SERVICE_NAME=DS2)))" 

그러나 같은 오류가 발생합니다!

delphi에서 "서비스 이름"을 확인하기 위해 내가 설치해야하는 다른 응용 프로그램이나 드라이버 (예 : Oracle Client, ...)는 무엇입니까?

+0

내 생각에'OraOLEDB' 제공자는'host'와'service_name'에 같은 이름을 가진 문제가 있습니다. 둘 중 하나의 이름을 바꿀 수 있습니까? –

+0

나의 주요 질문은 : Oracle Client를 설치해야합니까? 그렇다면 어떤 버전입니까? (승리 7 64x & 델파이 7) ... – user2899551

+0

당신은'오라클 클라이언트'또는 적어도'ODAC'를 설치해야합니다. [this] (http://stackoverflow.com/questions/2179194/deploy-application-with-oraoledb-provider/2183493#2183493) 및 [this] (http://stackoverflow.com/questions/1884183/what- 설치가 필요하다 - oraoledb) –

답변

0

  • 연결 문자열에 UDL 파일에서 코드를 붙여보십시오.
  • ODBC 공급자를 구성하십시오.