win7 64位 运行vb.net程序连接oralce问题!

lcq_6075217 2015-02-02 09:09:52
vb.net 2003 运行程序能连接oracle’ 但2005报错 信息“未找到安装程序,该程序可能未正确安装”
plsql都能连接oracle
系统:win7 64位系统
oralce 安装 64位
在目录下面安装instantclient_11_2 32位用于PLSQL连接
环境配置:
1>."Path" , 把 "C:\app\product\instantclient_11_2;" 加入;
2>."新建","TNS_ADMIN", 变量值设置为"C:\app\product\instantclient_11_2;
3>."新建","NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK

vs.net 程序连接oracle
Try
If M_CN1.State = 0 Then
M_CN1.ConnectionString = "Provider=MSDAORA.1;User ID=user/password;Data Source=server;Persist Security Info=True"
M_CN1.CursorLocation = ADODB.CursorLocationEnum.adUseClient
M_CN1.CommandTimeout = 10
M_CN1.ConnectionTimeout = 1
M_CN1.Open()
GF_DbConnect = True
End If
Catch ey As Exception
Call Gp_MsgBoxDisplay("服务器链接有错误...!!!", "W", "DataBase Connection")
If Err.Number = 438 Or Err.Number = -2147467259 Then
M_CN1.Close()
End If
GF_DbConnect = False
End Try
不知道为什么,搞了三天了也没弄好!求明白的指导一下,谢谢
...全文
319 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcq_6075217 2015-02-05
  • 打赏
  • 举报
回复
引用 6 楼 Tiger_Zhao 的回复:
32位程序调用32位的instantclient当然没错,但是64位程序是不能调用32位instantclient的。 我这里只有VS2008,也许进入方式稍有不同: 在工程上右键,打开属性。 然后在编译下面,点高级编译器设置。 打开的对话框中有个目标CPU的下拉框,默认是AnyCPU(这样编译出来的程序在64位系统下就按64位运行),要改为x86。
多谢了,确实是这个问题!!困扰好几天了
Tiger_Zhao 2015-02-04
  • 打赏
  • 举报
回复
32位程序调用32位的instantclient当然没错,但是64位程序是不能调用32位instantclient的。

我这里只有VS2008,也许进入方式稍有不同:
在工程上右键,打开属性。
然后在编译下面,点高级编译器设置。
打开的对话框中有个目标CPU的下拉框,默认是AnyCPU(这样编译出来的程序在64位系统下就按64位运行),要改为x86。
lcq_6075217 2015-02-03
  • 打赏
  • 举报
回复
“M_CN1 ??这是啥 百度这个 ODAC1120320Xcopy_x64 或 ODAC1120320Xcopy_32bit 这两个,或到oracle官网下载也有,里面好像有DEMO 引用这两个,你所在的机子就不在装oracle客户端,就能直接打开oracle了。” 没明白
lcq_6075217 2015-02-03
  • 打赏
  • 举报
回复
"2005工程的要指定为32位程序;否则按64位运行,而你的instantclient是32位的当然会出错了。" 没有明白“2005工程的要指定为32位程序” ,我的instantclient是32位 路径不就是32位的嘛,怎么还会报错 2003工程不也是32位嘛,为啥没有错误呢?
Tiger_Zhao 2015-02-03
  • 打赏
  • 举报
回复
2005工程的要指定为32位程序;否则按64位运行,而你的instantclient是32位的当然会出错了。
wy24789 2015-02-03
  • 打赏
  • 举报
回复
引用 2 楼 Tiger_Zhao 的回复:
2005工程的要指定为32位程序;否则按64位运行,而你的instantclient是32位的当然会出错了。
不是很明白,可能2003默认是32位,而2005是64位或者any cpu是64位
本拉灯 2015-02-02
  • 打赏
  • 举报
回复
M_CN1 ??这是啥 百度这个 ODAC1120320Xcopy_x64 或 ODAC1120320Xcopy_32bit 这两个,或到oracle官网下载也有,里面好像有DEMO 引用这两个,你所在的机子就不在装oracle客户端,就能直接打开oracle了。

16,557

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧