windows 2008 x64: 找不到MSDAORA Provider

在Windows 2008 x64上使用Query Express,選擇Mcirosoft Oracle driver時,出現以下錯誤訊息:

Unable to connect: The 'MSDAORA' provider is not registered on the local machine.

前往Google大廟參拜,得到的結論懷疑因程式預設以x64模式執行,試圖讀取x64版本OLE DB Driver時失敗(沒安裝或該Driver根本沒出x64版)。網上建議的解決方法多半是重Build Project,將Target由Any CPU改為x86。

雖然手上在用的QueryExpress是自己修改過的版本,要重Build不是難事。但我不禁在在想,如果手上只有exe沒有Source Code? 就只能攤手嗎?

再做了一下功課,發現有個工具corflags可以透過修改執行檔檔頭(CLR Header)的方式達到類似的效果。開啟Visual Studio 2008 Command Prompt(裡面有額外設定PATH,才能找到.NET SDK的工具檔),先用corflags QueryExpress.exe看設定,再用corflags /32BIT+ QueryExpress.exe,標註強迫在WoW64下以x86方式執行。

C:/QueryExpress>corflags QueryExpress.exe
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v2.0.50727
CLR Header: 2.5
PE        : PE32
CorFlags  : 1
ILONLY    : 1
32BIT     : 0
Signed    : 0

C:/QueryExpress>corflags /32BIT+ QueryExpress.exe
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.

改過設定後再跑一次,這回就可以順利執行了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值