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编辑过]