반응형
Access 데이터베이스에 연결해서 테이블에 저장된 데이터를 가져오는 코드입니다.
- .accdb를 사용했습니다.
- Visual Studio 2022버전에서 실습을 했습니다.
- x64
- 오류 메시지 해결
오류 메시지
System.InvalidOperationException: "Microsot.ACE.OLEDB.12.0' 공급자는 로컬 컴퓨터에 등록할 수 없습니다.' |
예제
1. 프로젝트를 생성합니다.
- Windows Forms 앱(.NET Framework)를 선택합니다.
2. 폼(Form)에 ListBox 1개, 버튼 1개를 배치합니다.
실행한 결과는 아래와 같습니다. 결과를 보면서 코드를 확인하는 것이 이해가 쉬울 것 같습니다.
3. 버튼에 코드를 작성합니다.
using System.Data.OleDb;
...
private void button7_Click(object sender, EventArgs e)
{
//.accdb 연결 문자
string strConnection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\temp\학사.accdb";
OleDbConnection conn = new OleDbConnection(strConnection);
conn.Open();
string sql = "select * from hakjuk";
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
listBox1.Items.Add(reader["hakbun"] + "\t" + reader["nm"]);
}
reader.Close();
conn.Close();
}
4. 아래와 같은 오류가 뜨면, accdb는 64비트로 실행해야 해결됩니다.
System.InvalidOperationException: "Microsot.ACE.OLEDB.12.0' 공급자는 로컬 컴퓨터에 등록할 수 없습니다.'"
64비트로 실행하는 방법은 다음과 같습니다.
[구성 관리자]를 선택합니다.
[새로 만들기]를 선택합니다.
플랫폼에서 "x64"를 선택합니다.
반응형
'C#' 카테고리의 다른 글
(C#) 모든 한글을 출력해봤습니다(유니코드 11172문자) (0) | 2023.06.24 |
---|---|
(C#) 2진수, 8진수, 16진수로 다양하게 출력하기 (0) | 2023.06.24 |
(C#,윈폼) 숫자 맞히기 게임 (0) | 2023.06.24 |
(C#) 윈폼 프로젝트 생성하기 (0) | 2023.06.24 |
(C#) ListView 실행시간에 마우스로 열 순서 변경하기 (0) | 2023.06.22 |