在安装BDE后,在DATABASE处新建ORACLE,之后再SERVIER NAME选择下拉框报处“invalid filename”,我手动输入我的数据库名称,在USER NAME那里输入用户名,保存后,点右边的ORACLE右边的+号连接数据库,报错"ORA-03114:not connected to oracle". 请问这个要怎么配置才能弄好呢?
我的数据库是10.1.0版本,client是10.2.0版本,另外,我在client文件夹下没有找到tnsnames.ora文件。
我的数据库是10.1.0版本,client是10.2.0版本,另外,我在client文件夹下没有找到tnsnames.ora文件。
F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN
1:首先安装Oracle Client,在安装的时候记得将管理工具选上,便于后期维护设置。2:在Oracle client home目录下打开oracle network manager,新建服务命名。
按照步骤提示,设置好正确的网络服务命名,连接方式,主机地址,端口等等
以上是使用管理工具的配置过程,当然你也可以直接修改tnsnames.ora中的内容,因为UI上所有的设置都会被存入到该文件中,该文件的相关信息请参考Oracle帮助3:设置ODBC。打开ODBC administrator,在User DSN或System DSN页中点击Add添加data source,注意在添加Data Source的时候选择Oracle驱动,不建议选择微软的ODBC for Oracle
在Oracle ODBC Driver Configuration中设置好你的Data Source Name,然后选择TNS Service Name(在下拉框中你可以找到刚才你设置的SN),随后设置好User ID(你需要登录Oracle的schema),其他保持默认即可。4:打开BDE,New Database,database driver name选择 Oracle的ODBC驱动5:点击 apply 按钮6:选中新添加的节点,在configuration页中ODBC DSN的下拉框中选择刚才创建的名称7:点击 apply 按钮,关闭BDE,并且如果有确认是否激活为默认的BDE文件时,选择是
优点:
1、不需要装Oracle客户端,你单EXE程序即可连接ORACLE服务器;
2、速度快,比BDE的方式快很多,测试大数据量的时候就知道了;
3、移植方便。你通过ODAC或者UniDAC写的程序,尤其是UniDAC,将来如果移植到SQLSERVER或者MySQL或者其他数据库上,客户端代码不需要做修改。
我不赞成楼上的建议
1:主要问题不是需要安装Oracle client,而是BDE依赖ODBC,所以如果是两层式结构的话,需要在客户端设置ODBC,如果只是简单替换其他连接方式,从架构和安全上来看,没有解决多大问题,如果替换为三层式结构的话,这些设置倒不是障碍。
2:UniDAC是要钱的。
3:更换数据访问组件,如果原有架构设计不好,会导致大量控件、对象需要被替换,而且一些BDE组件是没有对应UniDAC的控件的,例如 BatchMove之类
4:如果只是需要快一些的话,ADO和dbExpress都很好用
5:我一直反对考虑夸数据库,因为随着功能的复杂,会逐渐依赖于某些特殊的数据库特性,尤其是在使用SQL的时候,各种数据库之间的实现差异会很大,设置不同版本的之间也有差异。如果要做跨数据库,可能大部分功能都是集中在数据的录入,简单的修改删除,和简单查询,稍微复杂的一些的查询修改功能,就搞不定了。
1、第三方控件的使用,有人喜欢一个第三方的控件也不用,这样代码的可复制性比较好;另外有些人喜欢使用第三方控件,因为高效。这属于见仁见智的问题,有利有弊,根据自己的需要选择。
2、数据库的设计,建议把大部分的操作都放在数据库中,客户端只需要调用相应的存储过程或者函数即可。这样有很多优势,其中之一就是需要变更数据库平台时,客户端的改动最小;
3、至于UniDAC付费的问题,已经选用ORACLE数据库了,几十万都花出去了,就别在意一个控件了,是吧?又回到第一个问题了——根据自己的需要选择;
不过回过头来看一下楼主的疑问:
如果楼主用BDE来连接Oracle,那么我猜想楼主是不是初学者? 商业软件是不会这样搞的。
所以我才会告诉他不要用BDE了。我刚学Delphi的时候,用Table控件连接数据库都让我如醉如痴,而之后Table 连同Query根本就不再用。
我当时也就连接个Pradox,牛B一点是SQL 7或2000 ,楼主一下子就Oracle10,起点都不一样,哈哈哈