성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
[정성태] 만드실 수 있습니다. 단지, Unity 엔진 내의 스크립트와 W...
[공진영] 안녕하세요 좋은글 감사합니다. 현재 제가 wpf로 관제 모...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <pre class='code'> UDL Test on a 64 bit machine ; http://blogs.msdn.com/farukcelik/archive/2007/12/31/udl-test-on-a-64-bit-machine.aspx</pre> <br /> 오호... 64비트 응용 프로그램을 제작할 때 이것도 주의를 해야겠군요. 아직 32bit OLE DB Provider만 제공되는 경우라면, 부득이하게 32bit exe로 내려가야 할 지도 모르겠습니다.<br /> <br /> 아래는 제 PC의 32bit OLE DB Provider 목록입니다.<br /> <br /> <ul> <li>Microsoft Jet 4.0 OLE DB Provider</li> <li>Microsoft Office 12.0 Access Database Engine OLE DB Provider</li> <li>Microsoft OLE DB Provider for Analysis Services 9.0</li> <li>Microsoft OLE DB Provider For Data Mining Services</li> <li>Microsoft OLE DB Provider for ODBC Drivers</li> <li>Microsoft OLE DB Provider for OLAP Services 8.0</li> <li>Microsoft OLE DB Provider for Oracle</li> </ul> <br /> 아마도 위의 목록에서, 64bit 공급자가 현재 배포되고 있는 것들이 있을지도 모르지만,,, 어쨌든 프로그램 개발 전에 확인은 꼭 해봐야 할 것 같습니다.<br /> <br /> 위의 토픽에도 나와 있지만, UDL 파일로 확인해 보는 경우 다음과 같이 명령어 창에서 확인해 볼 수 있습니다.<br /> <br /> <pre class='code'> x64 공급자 확인 - test.udl 파일을 단순히 더블 클릭("C:\Windows\system32\rundll32.exe" "C:\Program Files\Common Files\System\Ole DB\oledb32.dll",OpenDSLFile C:\temp\test.udl) x86 공급자 확인 - <b>"C:\Windows\syswow64\rundll32.exe" "C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll",OpenDSLFile D:\temp\test.udl</b> </pre> <br /> 아래의 화면은 실제로 제 PC에서 실행해 본 x86 공급자와 x64 공급자 목록입니다.<br /> <br /> [그림 1: x86 공급자 목록]<br /> <img alt='ole_db_provider_64_32_1.png' src='/SysWebRes/bbs/ole_db_provider_64_32_1.png' /><br /> <br /> [그림 2: x64 공급자 목록]<br /> <img alt='ole_db_provider_64_32_2.png' src='/SysWebRes/bbs/ole_db_provider_64_32_2.png' /><br /> <br /> <hr style='width: 50%' /><br /> <br /> 예를 들어, 아래와 같은 간단한 프로그램의 경우,<br /> <br /> <pre class='code'> static void Main(string[] args) { using (OleDbConnection connection = new OleDbConnection()) { connection.ConnectionString = "Provider=<b>Microsoft.Jet.OLEDB.4.0</b>;Password=\"\";Data Source=C:\\temp\\ASPNetDB.mdb;Persist Security Info=True"; connection.Open(); } } </pre> <br /> 위의 프로젝트에 대한 CPU 유형을 x86으로 지정하면 정상적으로 동작을 하겠지만, x64로 지정된 경우에는 다음과 같은 예외를 만나게 됩니다.<br /> <br /> <pre class='code'> System.InvalidOperationException was unhandled Message="<b>The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine</b>." Source="System.Data" StackTrace: ...[생략]... at System.Threading.ThreadHelper.ThreadStart() </pre> <br /> <br /> <br /><br /><hr /><span style='color: Maroon'>[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1304
(왼쪽의 숫자를 입력해야 합니다.)