精易论坛

标题: 良心帖:易语言通过odbc连接ORACLE,100%成功! [打印本页]

作者: 城风蔚然    时间: 2018-11-20 20:45
标题: 良心帖:易语言通过odbc连接ORACLE,100%成功!
最近在研究如何用易语言连接oracle数据库,搜集了网上很多源码和请教了一些人都没能测试成功。
经过不懈努力,我终于测通了!哈哈哈哈~

不过,我想吐槽的是:
在搜集资料过程中,发现很多人都说易语言很难连上oracle,讲真,我也觉得官方不够给力!
oracle作为全球第一大数据库厂商,为什么出易语言的官方支持库来适配呢?
虽然说可以通过调用windows的odbc来连,但这对不懂的人来说是很困难的一件事!
所以,真心希望官方能开发出oracle的支持库!!!

在测试过程中,我总结了以下几个需要注意的点:
1、无论你的电脑是32位还是64位,都必须安装32位的oracle客户端。安装类型可以是:管理员、运行时。
2、从oracle 11g以后,oracle官方不再提供32位的客户端安装介质。目前最新的oracle客户端为win32_11gR2_client.zip,可直接从官网下载。
3、选择DRIVER连接时,需要先在$ORACLE_HOME/network/admin/tnsnames.ora文件中的定义的一个连接名,测试成功后再将连接名配置在SERVER(连接服务名)中。
4、选择DSN连接时,需要先在OS系统数据源(32位)中配置好数据源,测试成功后再将数据源名称配置在DSN(数据源)中。
只要你按照以上几点来,就肯定可以用易语言连接oracle,并执行简单查询。

我自己的测试代码已分享出来了,需要oracle客户端的朋友可以去官方下载,也可以私信我。

好了,第一次参加这么盛大的活动,小小意思,请各位看官指点,谢谢!

4.png (16.63 KB, 下载次数: 3)

4.png

易语言连接ORACLE.e

572.48 KB, 下载次数: 611, 下载积分: 精币 -2 枚

易语言连接ORACLE


作者: 城风蔚然    时间: 2018-11-20 20:50
沙发自己的,哈哈~~~@精易客服
作者: l1294066497    时间: 2018-11-20 20:54
二楼是我的            
作者: 1051496412    时间: 2018-11-20 21:00
l1294066497 发表于 2018-11-20 20:54
二楼是我的

三楼是我的
作者: 云韵    时间: 2018-11-21 10:18
先学习 暂时用不到
作者: sishein    时间: 2018-11-21 10:29
学习学习学习学习学习学习学习学习学习学习
作者: kyo9766    时间: 2018-11-21 13:29
都回复那么快,我只有在地板上躺着支持了
作者: wxfhf520    时间: 2018-11-22 20:53
谢谢分享~~~~~~~
作者: yyqingying    时间: 2018-11-24 21:44
6666666666666666666666
作者: 风信数字    时间: 2018-12-26 12:21
6666666666666666666666
作者: 网络注册网员    时间: 2018-12-26 12:42
支持支持一下
作者: junzexi    时间: 2018-12-27 17:21
支持一下。。。
作者: lingyunxiao    时间: 2019-1-2 10:57
走过学习下
作者: yu791575534    时间: 2019-1-7 11:23
66666666666666666666666
作者: gigiqb    时间: 2019-1-19 08:42
正好需要感谢了,有不懂得还期望lz多多帮忙啊
作者: gigiqb    时间: 2019-1-19 08:56
提示发现不可识别的 易包信息段1 其数据已被跳过!怎么处理
作者: 城风蔚然    时间: 2019-1-23 09:11
gigiqb 发表于 2019-1-19 08:56
提示发现不可识别的 易包信息段1 其数据已被跳过!怎么处理

看看哪行代码报的错
作者: cdmass    时间: 2019-1-25 09:20
非常感谢分享
作者: cdmass    时间: 2019-1-25 09:59
很实用,之前用ADO。
作者: gigiqb    时间: 2019-1-29 15:37
调试三天没有弄好太难啦哇哇哇LZ帮忙
作者: 城风蔚然    时间: 2019-1-30 13:48
gigiqb 发表于 2019-1-29 15:37
调试三天没有弄好太难啦哇哇哇LZ帮忙

安装了32位的oracle客户Duan吗?
作者: gigiqb    时间: 2019-2-4 14:26
客户Duan装了,过完年吧回去再继续研究,先谢谢大家啦 祝大家春节快乐

作者: gigiqb    时间: 2019-2-19 11:24
城风蔚然 发表于 2019-1-30 13:48
安装了32位的oracle客户Duan吗?

没有装那个完整版的太大了貌似要600M左右呢,我采用odbc这个配置是不是就可以不装客户端了呢
作者: 城风蔚然    时间: 2019-2-28 09:18
gigiqb 发表于 2019-2-19 11:24
没有装那个完整版的太大了貌似要600M左右呢,我采用odbc这个配置是不是就可以不装客户端了呢

易语言连接oracle的话,必须要安装oracle的客户Duan,除非官方提供方法。
作者: 亮亮工作室    时间: 2019-3-21 16:00
赞一个,拿下研究研究。
作者: 亮亮工作室    时间: 2019-3-21 22:07
拿下研究研究
作者: dglbl    时间: 2019-5-13 00:27
这个可以有,下载收藏
作者: 时光不老08    时间: 2019-6-22 23:20
感谢楼主666666666666
作者: hanson1025    时间: 2019-9-19 14:46
是不是可以DRIVER和DSN同时用呢?
作者: 小心中二病    时间: 2019-9-20 09:50
缺少精易模块.ec
作者: beyondyjx    时间: 2019-10-11 11:23

作者: afeng1911    时间: 2019-10-15 17:12
楼主的源码可以连接上数据库,但是 cha询表的时候只能cha询出表的字段,表的数据cha询不出来咋回事
作者: luojdz    时间: 2019-10-18 22:26
看看~~~~~~~~~~~~~~~~~~~~~~~~~
作者: dhsan235    时间: 2019-11-26 10:21
谢谢LZ分享,我也一直在找连oracle的方法。之前xp系统可以,一换到win7以上就不行了。先下了参考学习下。
作者: yuxuanju    时间: 2021-4-22 14:30
非常感谢
作者: yuxuanju    时间: 2021-4-22 14:30
oracle连接就是这样的麻烦
作者: 点点丶滴滴    时间: 2021-4-23 05:30
感谢分享,很给力!~
作者: myfaint009    时间: 2021-6-4 22:03

感谢分享,很给力!~
作者: 兰色的夜晚    时间: 2021-6-29 16:35
感谢分享,很给力!~
作者: hsmin0016    时间: 2021-7-22 09:36
感谢分享!! 自己研究了好久没成功!!
作者: gzdzy    时间: 2022-1-17 19:52
学习一下,谢谢楼主的分享
作者: zhangbaozi    时间: 2022-2-20 11:34
谢谢楼主的分享
作者: 莫良    时间: 2022-6-30 18:10
感谢楼主
作者: gaopujun    时间: 2023-2-13 17:39
好好学习天天向上哈哈哈
作者: D名俾人改晒    时间: 2023-7-14 15:26
666666666666666666666666
作者: qzser1    时间: 2024-1-18 16:25
666666666666666666666666
作者: adroot    时间: 2024-2-2 15:03
感谢分享,很给力!~
作者: liangmoumou    时间: 2024-2-26 14:51
学习一下
作者: qq306992604    时间: 2024-6-1 19:50
学习一下,我死活连接不上

作者: 王林伟    时间: 2024-6-17 16:49
虽然不懂,依然膜拜您

作者: 王从伟    时间: 2024-10-15 09:56
qq306992604 发表于 2024-6-1 19:50
学习一下,我死活连接不上

需要先安装驱动!!!


驱动安装方法如下:
1.下载oracle驱动文件,并将两个压缩包的文件解压至一个文件夹内(文件太大,只能上百度云了)
链接: https://pan.baidu.com/s/1804RlFMyL2W5QW2qgi_RTQ 提取码: pxyc

2.添加环境变量,注意路径
path变量加上 D:\Oracle\instantclient_12_1
新建  ORACLE_HOME:D:\Oracle\instantclient_12_
新建  TNS_ADMIN:D:\Oracle\instantclient_12_1\network\admin
新建  NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK     --用于设置中文乱码问题

3.最后以管理员模式执行 odbc_install.exe


以下是语言开发内容:
不用引用模块

.版本 2

.程序集 窗口程序集_启动窗口

.子程序 _按钮1_被单击
.局部变量 结果, 整数型
.局部变量 句柄, 整数型
.局部变量 GZ, 文本型
.局部变量 PATH, 文本型

' 开发前必须安装驱动,驱动安装后不能删除,哪台电脑

.如果 (外部数据库1.打开 (“DRIVER={Oracle in instantclient_12_1};DBQ=172.16.1.1/orcl;UID=用户名;PWD=密码;DBA=数据库名”, , ) = 真)
    编辑框2.内容 = “真”
.否则
    编辑框2.内容 = “假”
.如果结束


句柄 = 外部数据库1.查询 (编辑框1.内容)
外部数据库1.到首记录 (句柄)
.判断循环首 (外部数据库1.尾记录后 (句柄) = 假)
    GZ = 外部数据库1.读 (句柄, “GZ”) + #换行符 + GZ
    PATH = 外部数据库1.读 (句柄, “PATH”) + #换行符 + PATH
    外部数据库1.到后一记录 (句柄)
.判断循环尾 ()

编辑框3.内容 = GZ
编辑框4.内容 = PATH

外部数据库1.关闭 ()




作者: yuechen    时间: 2024-12-25 14:51
支持开源~!感谢分享
作者: wangel    时间: 2025-4-25 15:47

感谢楼主
作者: 53770zhang    时间: 2025-6-4 10:06
感谢楼主 非常有用!




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4