제가 하고자 하는 것은요...데이터 베이스에 접속하는데.. 최소한의 정보만으로 접근하여
해당 데이터의 카탈로그를 선택>테이블 선택 > 해당 데이터 선택...이렇게 만들려구 하는거거든요....
그래서.. 스키마를 이용하고자 했는데요.
아래에 소스를 보시면 , 주석처리된 부분은 정상적으로 나오는 부분이구요.
(해당 테이블의 이름과 관리자 등을 출력함.......)
바로 아래에 있는것은 작동은 하지만 원하는 결과가 나오지 않는 부분입니다.
(해당 데이터베이스 서버에서 작동중인 데이터베이스 카탈로그명을 출력 해야됨....)
틀림없이 카탈로그가 있는데요.. 출력이 안되요....카탈로그의 수를 세어봐도..0개가 나오네요...
혹시나 아시는분 계시면.. 도와 주셔염...
using System;
using System.Data.OleDb;
class test{
public static void Main(){
OleDbConnection t1 = new OleDbConnection();
//t1.ConnectionString="Provider=SQLOLEDB.1;User ID=sa;Password=;Data Source=localhost;Initial Catalog=Northwind;";
t1.ConnectionString="Provider=SQLOLEDB.1;User ID=sa;Password=;Data Source=localhost";
try
{
t1.Open();
//System.Data.DataTable schema=t1.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new Object[] {null,null,null,"Table"});
System.Data.DataTable schema=t1.GetOleDbSchemaTable(OleDbSchemaGuid.Catalogs,new Object[] {"Table"});
for(int i=0;i<schema.Rows.Count;i++)
{
for(int k=0;k<schema.Columns.Count;k++){
Console.Write(schema.Rows[i].ItemArray[k].ToString()+" ");
}
Console.WriteLine("\n");
}
}
catch{Console.WriteLine("실패");}
}
}