odac怎么添加链接连接oracle

odac怎么添加链接连接oracle,第1张

步骤1. 下载ODAC安装包

到Oracle官方网站下载ODAC安装包。在网页上找到你要的版本。我下载的是:

64-bit ODAC 11.2 Release 6 (11.2.0.4.0) Xcopy for Windows x64

下载下来的安装包名为:

ODAC112040Xcopy_64bit.zip

END

步骤2. 解压缩

解压缩这个zip包,把里面的文件都解压到一个文件夹里,我是解压到D:\ODAC112040Xcopy_64bit,然后打开cmd,进入到这个文件夹。

这个文件夹里有8个子文件夹,分别是:

instantclient_11_2:这是Oracle客户端,所有组件的运行都依赖于这个客户端;

oledb:这是OLE DB组件

asp.net:这是ASP.NET2组件

asp.net4:这是ASP.NET4组件

odp.net4:这是.NET4组件

odp.net20:这是.NET2组件

oramts:这是Oracle的MTS服务

network:这个文件夹不用管,它是用来存放tnsnames.ora文件的,要安装后才能用。

这里我们需要搞清楚这些组件之间的依赖关系。

instantclient_11_2是最基础的

oledb依赖于instantclient_11_2

asp.net依赖于instantclient_11_2和odp.net20

asp.net4依赖于instantclient_11_2和odp.net4

odp.net4依赖于instantclient_11_2

odp.net20依赖于instantclient_11_2

oramts依赖于instantclient_11_2

END

步骤3. 安装ODAC包

在cmd中运行install.bat批处理文件:输入"install.bat all D:\OracleClient ODAC"(不含双引号)。这里有几个参数需要特别注意,这里我们传入了三个参数,但最多可以传入四个。

第一个参数:all。all代表安装ODAC112040Xcopy_64bit文件夹下所有的组件和客户端。如果你不需要这么多组件,只用到其中一个,比如只用到了OLE DB组件,就可以像下面这样只安装客户端和这一个OLE DB组件:

install.bat oledb D:\OracleClient ODAC

第二个参数:D:\OracleClient。这是安装路径,根据自己的实际情况指定,路径中尽量不要有空格和圆括号。

第三个参数:ODAC。这个叫ORACLE HOME NAME,这个参数也可以自己随便指定一个字符串,不一定非得是"ODAC"。这个参数是用来写入注册表的。比如,上面这条语句执行后,会在注册表的以下位置写入:

HKLM\Software\Oracle\KEY_ODAC

这"KEY_"后面的ODAC就是你在参数中传入的那个"ODAC"

第四个参数。一般只用前三个参数就够了,在安装组件的时候会自动把它依赖的组件都安装上,但如果你只想安装指定的组件,不想装它所依赖的组件,这时才会用到第四个参数。比如:当你安装asp.net时,如果只用前三个参数,会自动把它所依赖的odp.net20和instantclient_11_2也安装上,但如果你再传入第四个参数"false",如下:

install.bat asp.net D:\OracleClient ODAC false

这时就只会安装asp.net,而不会把odp.net20和instantclient_11_2也装上。

END

步骤4. 设置环境变量

1

ORACLE_HOME=D:\OracleClient

(添加一个环境变量ORACLE_HOME,其值为你的安装路径,比如我这里就是D:\OracleClient)

2

PATH=%ORACLE_HOME%%ORACLE_HOME%\bin

(在PATH环境变量中添加下面两个路径,用分号隔开:

%ORACLE_HOME%%ORACLE_HOME%\bin)

END

步骤5. 根据需要配置tnsnames.ora文件

如果要用组件访问Oracle数据库,那么就要根据需要配置tnsnames.ora文件,并存放于%ORACLE_HOME%\network\admin目录下。

我的tnsnames.ora文件格式如下,供参考:

ORA =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.26.231)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = ora)

)

)

界面放入Button1,ADOConnection1、ADOQuery1,如果还要显示数据可以再加DataSource1和DBGrid1。

首先设置ADOConnection1来连接ORA,先设置ADOConnection1.ConnectionString属性,也可以写到程序里,然后将ADOConnection1.LoginPrompt设为false以避免连接数据库时再输一次密码。

将ADOQuery1.Connection设为ADOConnection1,将SQL写在ADOQuery1.SQL中

将DataSource1.DataSet设为ADOQuery1

将DBGrid1.DataSource设为DataSource1,将DBGrid1.ReadOnly设为true以防止通过DBGrid1随意修改数据库

然后在Button1Click事件中写上ADOQuery1.open这句代码就能实现一个简单的查询了。

而要通过界面取的变量查询数据就要将Button1Click事件的代码改成:

ADOQuery1.Close

ADOQuery1.SQL.Clear

ADOQuery1.SQL.Add(你的SQL)//注意SQL必须是字符型的,其中包括单引号(‘’)

ADOQuery1.Open

BCB用ODAC连接Oracle unicode

BCB用ODAC连接Oracle unicode的问题

我在程序里将OraSession1->Options->UseUnicode = true

运行程序后,报错,程序起不来,谁遇到过类似问题,

如果这个参数不设置成true的话,连接oracle unicode库的话,汉字显示不全,不知道为什么

------解决方案--------------------

调整这一语句和其它OraSession1相关语句的顺序试试


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6922697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存