2013-11-26 3 views
0

내 C++ 코드에서 SQLDriverConnect가 연결 문자열을 얻기 위해 어떤 dsn 드라이버에 연결되어 있는지 확인하려고합니다. 아쉽게도 연결 문자열은 드라이버 설명 만 지정하고 어떤 드라이버가 사용되는지는 지정하지 않습니다. 어쨌든 실제로 어떤 드라이버가 사용되고 있는지 파악하고 있습니까?어떤 dsn 드라이버가 사용되고 있는지 어떻게 알 수 있습니까?

답변

0

SQLDriverConnect에 전달하는 연결 문자열은 DRIVER = {xxx}, DSN = yyy, FILEDSN = zzz를 사용하여 드라이버를 식별해야합니다. 생각해 보면 SQLDriverConnect에 전달 된 문자열이 드라이버를 식별하지 못하면 ODBC 드라이버 관리자는로드 할 ODBC 드라이버를 어떻게 알 수 있습니까? SQLDriverConnect에 전달 된 연결 문자열을 살펴보고 전달되는 특성을 처리하기 만하면됩니다. driver = xxx이면 ODBC 관리자에게 가서 드라이버 탭을 선택한 다음 드라이버 이름을 찾으십시오. DSN = xxx이면 ODBC 관리자의 사용자 DSN 또는 시스템 DSN에서 DSN xxx를 찾아 사용하는 드라이버를 찾습니다.

마지막으로 일단 연결되면 사용중인 드라이버를 검색하는 데 사용할 수있는 SQLGetInfo 호출이 있습니다.

관련 문제