2009-04-23 4 views
4

Oracle 용 Oracle 용 내장 ODBC 드라이버를 사용하여 Oracle 10g 데이터베이스에 연결하려고합니다. 난 dnsless 연결을 사용하고자하므로 www.connectionstrings.com에서 연결 문자열을 가져온다.Oracle 용 Microsoft ODBC를 사용하여 Oracle 10g 데이터베이스에 연결하십시오.

이상적으로 DNS 항목이나 Oracle TNS 항목을 설정할 필요가 없으며 실수 일 수도 있지만 위의 내용이 저에게 도움이 될 것이라고 생각했습니다.

ERROR [NA000] [Microsoft][ODBC driver for Oracle][Oracle]ORA-12514: 
TNS:listener does not currently know of service requested in connect 
descriptor 

ERROR [IM006] [Microsoft][ODBC Driver Manager] 
Driver's SQLSetConnectAttr failed 

ERROR [01000] [Microsoft][ODBC Driver Manager] 
The driver doesn't support the version of ODBC behavior that the 
application requested (see SQLSetEnvAttr)." 

는 지금까지 내가 온라인으로 말할 수있는, 다른 사람들이 10g에 연결하기 위해 Oracle 용 Microsoft ODBC 드라이버를 사용했지만, 어쩌면 내가 뭔가를 놓친 해요 : 나는 다음 얻고있다. 나는 vb.net 응용 프로그램에서 연결하고 있습니다.

답변

2

,하지만 난 연결 문자열을 발견 내가 찾고있는 것이 더 많습니다 :

"Driver={Microsoft ODBC for Oracle}; " & _ 
           "CONNECTSTRING=(DESCRIPTION=" & _ 
           "(ADDRESS=(PROTOCOL=TCP)" & _ 
           "(HOST=myserver)(PORT=1521))" & _ 
           "(CONNECT_DATA=(SERVICE_NAME=servicename))); " & _ 
           "uid=username;pwd=password; 
0

연결하려는 서비스의 항목을 tnsnames.ora 파일에 추가해야합니다. 또는,

Start->Programs->Oracle->Configuration and Migration Tools->Net Configuration Assistant 

에서 해당 파일의 GUI 인터페이스로 이동 할 수 있고 거기 오라클 연결을 설정합니다. 그런 다음 ODBC는 서비스 이름을 확인할 수 있습니다.

+0

그렇다면 tnsnames.ora가 필요하다는 말입니까? 그렇다면 oracle 드라이버 설치가 필요하거나 Microsoft ODBC 드라이버가 tnsnames.ora 파일에서 볼 수 있습니까? – Gaidin

+0

예, ODBC는 일반적인 Microsoft 인터페이스를 통해 Oracle 호출을 리디렉션합니다. 오라클 드라이버를 설치하고 odbc가 호출 할 오라클 연결을 설정해야합니다. ODBC를 사용할 때의 이점은 oracle, ms 액세스, sql 서버 등을 볼 때 응용 프로그램이보다 일관된 인터페이스를 가질 수 있다는 것입니다. – JosephStyons

+0

@JosephStyons : SQL 개발자를 통해 oralce에 연결할 수 있습니다. 하지만 VBA를 통해 연결하려고하면 [Microsoft] [ODBC Driver Manager] 드라이버의 SQLSetConnectAttr이 실패했습니다. 이 문제를 해결하는 방법? – logan

9

10g의 경우 EZCONNECT 기능을 사용할 수 있습니다. 서버 MyServer를에 ORCL라는 이름의 오라클 인스턴스에 연결하려면 연결 문자열은 다음과 같이 보일 것이다 : 나는 당신의 자신의 질문에 대답하는 방법을 정결 확실하지 않다

Driver={Microsoft ODBC for Oracle};Server=myServer:1521/ORCL;Uid=myUsername;Pwd=myPassword; 
+1

이 기능에 대해 알지 못했습니다. 아주 멋지다. – JosephStyons

+0

@Mac : VBA를 통해 연결할 때 같은 오류가 발생합니다. 연결하는 데 cn.open 메서드를 사용하고 있습니다. VBA에서 코드를 어떻게 사용합니까? – logan