当前位置:主页>销售管理软件> 列表

求助:oracle+ADO开发 找速达软件下载

记账软件版1楼: 我的前任使用Oracle数据库。在服务器上安装时,选择“英文(美国)”。安装完毕后,改回“中文(中国)”。客户端完全安装oracle,方法与服务器一样。
他用PB开发,应用程序均没有编译成Exe,移植性、稳定性和发布效率都极低,且程序比较粗糙,新手不易上手。
我们决定用Delphi+Oracle+ADO开发升级程序。
目前有这样问题:
1、服务器IP为195.0.0.1,而我们局域网通用IP是192.168.1.*(使用路由器,用户较多)。PB程序将Oracle连接固定,用户如想上网,必须使用双网卡,影响网络速度。如何解决为上?
2、客户机上仅安装客户端连接和应用工具,无法连接oracle。完全安装后,就OK。(域已设置相同)这是为什么?
3、我用Delphi+ADO更新Oracle数据库,写入中文,全部变成“靠”字或“?”。而浏览显示的中文正常(除被修改外)。我本地Oracel安装与服务器一致(字符集一致),PB程序写入正常。这是怎么回事?
4、我想读取sys.All_Tab_Columns中的记录,加where owner=''KK'' and Table_Name=''<数据表名>''后,记录为空。Owner和Table_Name值确实存在,去掉Where语句,显示中存在记录。这是为什么?(BDE查询正常,ADO不行)

2楼: 帮顶!

-------------------------------------
站长开发推广同盟 关注网站,关注技术!

海量源代码下载,二次开发绝佳站点

网址: http://www.source520.com
http://www.source520.net 如超市零售管理软件

3楼: 不建議用ADO,一般ADO是用在微軟的數據庫連接上。
對於其它用別一接口dbExpress,這個接口有很多人不太會用。所以問題會很多。
oracle數據庫是JAVA語言支持得非常好,建議用JAVA語言做,不過用DELPHI也行。

4楼: Delphi+BDE读写记录,果然正常!ADO不太适用。
第四个问题,Owner的值设为大写,问题也解决了。不过,我很奇怪,ORACEL中的记录难道对大小写敏感?

5楼: 1、“用户如想上网”是什么意思?
2、需要安装Oracle客户端
3、应该是字符集的问题
检查 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 NLS_LANG
4、ORACLE是大小写敏感的

6楼: 来自:xianguo, 时间:2006-1-14 11:35:51, ID:3328558
1、“用户如想上网”是什么意思?
==============================================
路由器IP是192.168.1.1,Oracle服务器IP是195.0.0.1。
上外网必须用192.168.1.*。否则通不过路由器。
连接Oracle必须在195.0.0.*IP段。
所以一台机子要双网卡。
哎,这是历史原因造成的,一个很简单的问题被人为的复杂化了!
不知仁兄有什么高见?兄弟在此谢了!

记账软件版7楼: 单网卡设置2个IP应该也可以实现吧,只是不知道效率如何
或者
增加一台代理服务器(双网卡),上外网时通过代理出去

8楼: 可选用ODAC

9楼: 可以使用无需安装Oracle客户端的ODAC,只需正确设置Oracle数据库ip地址,端口号,数据库名称既可,可在wwww.51delphi.com上下在,选择Net:=true

10楼: lmxcyx:
  好像要装客户端的吧!在没装ORA客户端机子上运行程序,提示没有找到OCI.DLL,我将OCI.DLL拷贝过去,注册不成功。程序无法运行。
  没有客户端,“只需正确设置Oracle数据库ip地址,端口号”,在何处配置?
Net :=True是什么回事?在什么地方设置?ORASession上吗?

11楼: 使用odac不用装客户端,在orasession控件上双击,弹出连接设置,有一项是Net,把他勾上,以后再不会提示oci.dll

12楼: 把details也勾上,可以单独设置server的IP和port还有SID,还有用户名,密码,设置好就可以点Connect按钮连接了,设置没错的话,就会亮绿灯,表示连接成功 如速达软件下载

13楼: lxw5214:
“把details也勾上”。这是什么组件的属性。我在ORASession中找不到。我用的ODAC是5.55版本。ORASQL, ORAQuery, ORATable中也没有这个属性。
  另外,在此谢了!--OCI.DLL问题解决,不再提示OCI了!就是把 Net设为 True.
  但是,总是提示“NET: Invalid Host”,如果 Net=False,连接正常(有客户端)。连接配置如下。
  server=wsj //这里该如何设置?
UserName=wsj_adm
password=wsj
调试提示
信息一:
Windows Socket error:在其上下文中,请求的地址无效。(10049), on API "connect"。
信息二:
Invalid Host.

记账软件版14楼: 建议改用ODBC方式(ORACLE公司提供的连接引擎)连ORACLE服务器;
在客户端本地用ADO通过ODBC操作ORACLE数据库;
是完全OK的

15楼: stickvc:
我已试过ADO、BDE和ODAC,最终选择ODAC了。ADO写入汉字变成了乱码。BDE不错,但没有ODAC快、可靠。另外,ODAC无需装客户端。只是本人水平有限,还没完全搞定。
 

16楼: 不是ODAC啊,是MS的ODBC啊

17楼: ODAC好,帮顶。

18楼: odac控件安装好了以后,从Oracle Access控件面板中取个连接Oracle数据库的控件OraSession,就是第一个控件,放到form上后,双击他,就会弹出连接属性设置对话框的,可以可视设置属性的。第一次会出现找不到oci.dll,取消,就会出现了,然后按上面说过的方法设置就Ok

19楼: 结一下分吧。新问题另外加分。

20楼: OK