2012-11-29 2 views
0

기존 ODBC 연결 (예 : 이미 데이터베이스에 연결되어 있고 ODBC 연결 핸들을 반환 할 수있는 레거시 제품)이 있으며 ADO.net을 통해이 연결 핸들을 래퍼하려고합니다. 그런 다음 2 차 개발 사용자는이 ADO.net 랩퍼 라이브러리를 사용하여 데이터베이스에 액세스 할 수 있습니다.ADO.net을 사용하여 기존 ODBC 연결을 래핑 할 수 있습니까?

어떻게하면됩니까?

답변

0

예. ADO.NET에는 ODBC 공급자가 있으며 실제로 OleDb가 MS와 같은 희망을 포착하지 않았기 때문에 ADO.NET을 데이터베이스 중립적 인 방식으로 사용하는 것이 좋습니다.

심판 : http://msdn.microsoft.com/en-us/library/system.data.odbc.aspx

+0

당신은 더 많은 정보를 줄 수 있을까요? 기존 연결 핸들을 활용하는 방법? ADO.net의 ODBC 생성자에는 OdbcConnection()과 OdbcConnection (String) 두 가지만 있습니다. 두 번째 것은 기존 ODBC 연결을 사용하는 대신 새 연결을 트리거하는 연결 문자열이 필요합니다. 기존 연결을 사용하여 ADO.net을 구성하는 방법 – StevenChaw

+0

연결 문자열을 만드는 방법을 묻는 중입니까? http://www.connectionstrings.com/dsn#net-framework-data-provider-for-odbc 또는 기존 연결을 다시 사용하는 방법을 묻고 있습니까? 기존 연결을 다시 사용하려면 모든 명령과 판독기를 .Close()하십시오. 연결이 아직 범위 내에 있고 아직 .Close() 또는 .Dispose()를 호출하지 않은 상태에서 연결을 다시 사용하십시오. – MatthewMartin

+0

둘 다 아니오, 내가 묻는 것은 이미 다른 C++/C 라이브러리에서 기존의 연결된 ODBC 핸들을 반환 할 수있는 GetODBCConnectionHandle과 같은 인터페이스가 이미 있다는 것입니다. 그러나 타겟 호출자가 ODBC C++ 프로그래밍을 사용하기를 원하지 않으며 연결 대상 문자열을 제공하기 위해 대상 호출자에게 원하지 않습니다 (심지어 db/password와 다른 것을 알지도 못합니다), 난 그냥 래퍼이 반환 된 연결을 ADO.net 클래스/인터페이스/개체를 원하는. 호출자는 ADO.net 인터페이스를 사용하여 명령을 실행합니다 (먼저 연결할 필요 없음). 가능한가? – StevenChaw

관련 문제