2012-07-07 2 views
1

에 내가 네트워크의 모든 SQL Server 인스턴스를 열거하려면 다음 코드를 사용할 수 있다는 것을 알고 :열거 오라클 데이터베이스는 네트워크

SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance; 
DataTable table = instance.GetDataSources(); 

그러나뿐만 아니라 오라클 인스턴스에 대해이 작업을 수행하는 방법이 있다면 궁금 해서요 . 오라클의 ODP.NET (Oracle.DataAccess.Client)은 DataSourceEnuerator를 지원합니다. 분명히 System.Data.OracleClient는 그렇지 않습니다. 그러나 DataSourceEnumerator는 로컬 TNSNames.ora 파일에있는 항목 만 열거합니다.

답변

3

당신이보고있는 것은 SQL Server와 Oracle 데이터베이스가 어떻게 발표되는지에 근본적인 차이가 있기 때문입니다. SQL Server (2000 및 2005 이상)는 SQL Browser Service을 사용하여 네트워크에서 사용 가능한 데이터베이스를 보급합니다. 한편, 오라클은 TNS entries을 사용하여 사용 가능한 인스턴스를 명시 적으로 열거해야합니다.

이것은 의 인스턴스입니다. 오라클이 API를 따르려고 시도하는 로마에있을 때입니다. 아쉽게도 사용자 지정 코드가 없으면 SQL Server 동작을 복제 할 수 없습니다.

관련 문제