注册 登录
编程论坛 VFP论坛

vf+及不友好的oracle

bbschf 发布于 2023-07-12 15:37, 914 次点击
闲来无事心血来潮,oracle+odbc折腾了好几天,
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

胡乱授权一番;bas连个表都冇得;于是
只有本站会员才能查看附件,请 登录


登不上去;
望有此番经验的大师指点
7 回复
#2
bbschf2023-07-12 15:42
只有本站会员才能查看附件,请 登录

在没有安装oracle odbc之前,连接提示odbc错误之类,安装后不提示,连接
只有本站会员才能查看附件,请 登录

窝豁,不行 -1
#3
shizi02023-07-12 16:04
试试连接串='Driver={Oracle Instant Client Driver};Dbq=127.0.0.1:21/BAS;Uid=CHF;Pwd=chf_oracl;'
Orlhand = Sqlstringconnect(连接串)

[此贴子已经被作者于2023-7-12 16:12编辑过]

#4
bbschf2023-07-12 18:01
回复 3楼 shizi0
非常感谢!
还是连接不上
#5
bbschf2023-07-13 10:36
昨天试验到今天早上,配置监听,仿佛配置,显示连接成功;返回vf,连接,跳出dns配置;用system,vf登陆成功,重新启动,又窝豁,-1。连接字符串:
driver;uid;pwd;dbq;dab;apa;exc;xsm;fnt;…太多了
#6
shizi02023-07-14 12:16
Sqlstringconnect('Driver={Oracle Instant Client Driver};Dbq=127.0.0.1:21/BAS;Uid=CHF;Pwd=chf_oracle;') 应该是可以的。
前提是二选一:
1、以管理员身份安装Oracle客户端:Oracle11g_ClientSetup.exe ,仅勾选Basic 和 ODBC即可,最后不必编辑tnsnames.ors
2、不必安装Oracle客户端,但应用程序目录(_path)下含这些文件:oci.dll,odbc32.dll(注意64位文件不同),oraociei11.dll,sqora32.dll,sqoras32.dll,sqresus.dll
程序启动修改注册表:Function RegODBCOrc(用到myfll相关函数)
程序代码:

#DEFINE HKEY_LOCAL_MACHINE 2147483650
sysVer=Iif([syswow64]$Lower(GetWinSysFolder(41)),[\Wow6432Node],[])
If Empty(regread([Oracle Instant Client Driver],[SOFTWARE]+sysVer+[\ODBC\ODBCINST.INI\ODBC Drivers],HKEY_LOCAL_MACHINE))  &&没有安装驱动
    regWrite([Oracle Instant Client Driver],[Installed],[SOFTWARE]+sysVer+[\ODBC\ODBCINST.INI\ODBC Drivers],HKEY_LOCAL_MACHINE)
Endif
If Lower(regread([Driver],[SOFTWARE]+sysVer+[\ODBC\ODBCINST.INI\Oracle Instant Client Driver],HKEY_LOCAL_MACHINE))#Lower(_path+[sqora32.dll])  &&Driver路径不对,或没有注册
    regWrite([Driver],Lower(_path+[sqora32.dll]),[SOFTWARE]+sysVer+[\ODBC\ODBCINST.INI\Oracle Instant Client Driver],HKEY_LOCAL_MACHINE)
Endif
regWrite([NLS_LANG],[SIMPLIFIED CHINESE_CHINA.ZHS16GBK],[SYSTEM\CurrentControlSet\Control\Session Manager\Environment],HKEY_LOCAL_MACHINE)  &&Oracle中文字符集


[此贴子已经被作者于2023-7-14 12:17编辑过]

#7
bbschf2023-07-15 09:50
回复 6楼 shizi0
谢谢您;
刚开始用的win10,本地连不上,后来用win732,瞎折腾后连上,但是不能重启,再装win732,现象重复;再装win1064,不设置不配置,能连上,重启也能连
#8
bbschf2023-07-15 09:52
回复 3楼 shizi0
经过几番折腾,win10、won7再到win10,连接正常;非常感谢!
1