2012-07-09 1 views
2

ADOX에 관한 오류가 있으며 해결 방법을 모릅니다.메서드 '열기'에 대한 과부하가 하나 이상의 인수를 사용합니다.

enter code here public static string[] GetTableExcel(string strFileName) 
     { 
      string[] strTables = new string[100]; 
      Catalog sCatalog = new Catalog(); 
      ADOX.Table sTable = new ADOX.Table(); 
      MySql.Data.MySqlClient.MySqlConnection sConn = new MySql.Data.MySqlClient.MySqlConnection(); 
      sConn.Open("server=localhost; Data Source = " + strFileName + ";user id=root;Password=1;database=test;persist security info=False"); 
      sCatalog.ActiveConnection = sConn; 
      if (sCatalog.Tables.Count > 0) 
      { 
       int item = 0; 
       foreach (ADOX.Table tab in sCatalog.Tables) 
       { 
        if (tab.Type == "TABLE") 
        { 
         strTables[item] = tab.Name; 
         item++; 
        } 
       } 
      } 
      return strTables; 

오류는 ''열기 '메서드에 대한 오버로드가 하나의 인수를 취합니다. 여기 어떤 종류의 영혼이라도 나를 도울 수 있습니까? 감사합니다

이 라인에서 기본적으로

답변

1

MySql.Data.MySqlClient.MySqlConnection.Open (문자열 connStr)를 사용할 수없는, 당신은 호출해야

MySql.Data.MySqlClient.MySqlConnection sConn = new MySql.Data.MySqlClient.MySqlConnection("server=localhost; Data Source = " + strFileName + ";user id=root;Password=1;database=test;persist security info=False"); 
sConn.Open(); 
2

: 당신은 제대로 함수를 호출하지 않는

sConn.Open("server=localhost; Data Source = " + strFileName + ";user id=root;Password=1;database=test;persist security info=False"); 

. 열기 함수는 연결 문자열을 허용하지 않습니다. 당신이 MySqlConnection 인스턴스를 만들 때 다음과 같이

당신은 연결 문자열을 제공해야합니다 다음과 같이

MySql.Data.MySqlClient.MySqlConnection sConn = new MySql.Data.MySqlClient.MySqlConnection("server=localhost; Data Source = " + strFileName + ";user id=root;Password=1;database=test;persist security info=False"); 

는 그런 다음 open 함수를 호출하는 데 도움이

sConn.Open(); 

희망을.