2010-03-03 6 views
10

최근에 C# 또는 VB.NET에서 .NET을 사용하여 MS-ACCESS 데이터베이스에 연결하는 방법을 another question으로 만들었습니다. MDB와 의도 한대로 그냥 작동했지만에만 적용으로 다음과OLEDB를 통해 ACCDB 형식의 MS-ACCESS 데이터베이스에 연결

conn.Open(); 

에서 예외 발생 :

alt text http://dl.dropbox.com/u/3045472/accdb_fail.png

이 작업을 수행하는 또 다른 방법이 있나요를? 원래의 의도 (original question에 명시된 바와 같이)는 일부 (실제로는 많은 부분) 필드를 수집합니다.

+0

대답의 핵심은 MDB는 제트 4 형식 (또는 이전 형식이 때문이다 예를 들어, 제트 3. x 및 Jet 4 공급자에서 뒤로 읽을 수 있음) ACCD는 ACE (실제로 Jet 4.5 또는 Jet 5)의 형식이므로 ACE 용 공급자를 사용해야합니다 (ACE에 대한 읽기/Jet 4/3.x 및 아마도 Jet 2.x를 작성하십시오). –

+0

실제로는 아무런 설치 작업 없이도 작동했지만, 클라이언트에 필요할 경우에 대비해 링크를 유지하고 있습니다. 감사합니다! – Marcelo

답변

11

사용 ACE 4 드라이버, 그것은 here 다음 연결 문자열 다음 사용 다운로드 :

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\marcelo.accdb;Jet OLEDB:Database Password=MyDbPassword;"

+0

나는 그렇다고 생각한다. 또는 씬 클라이언트를 사용하여 클라이언트 - 서버 응용 프로그램을 작성하십시오. – Andrey

+0

reader.GetValue (3) .ToString() 이름이 있더라도 getstring을 사용하지 않은 이유는 무엇입니까? – Marcelo

+0

사용 : reader.GetValue (3) .ToString() 작동하는 경우 – Andrey

관련 문제