toad安装的是32位的oracle客户端,能不能访问64位oracle数据库

toad安装的是32位的oracle客户端,能不能访问64位oracle数据库,第1张

步骤1 下载ODAC安装包

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

64-bit ODAC 112 Release 6 (112040) Xcopy for Windows x64

下载下来的安装包名为:

ODAC112040Xcopy_64bitzip

END

步骤2 解压缩

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

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

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

oledb:这是OLE DB组件

aspnet:这是ASPNET2组件

aspnet4:这是ASPNET4组件

odpnet4:这是NET4组件

odpnet20:这是NET2组件

oramts:这是Oracle的MTS服务

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

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

instantclient_11_2是最基础的

oledb依赖于instantclient_11_2

aspnet依赖于instantclient_11_2和odpnet20

aspnet4依赖于instantclient_11_2和odpnet4

odpnet4依赖于instantclient_11_2

odpnet20依赖于instantclient_11_2

oramts依赖于instantclient_11_2

END

步骤3 安装ODAC包

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

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

installbat oledb D:\OracleClient ODAC

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

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

HKLM\Software\Oracle\KEY_ODAC

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

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

installbat aspnet D:\OracleClient ODAC false

这时就只会安装aspnet,而不会把odpnet20和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 根据需要配置tnsnamesora文件

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

我的tnsnamesora文件格式如下,供参考:

ORA =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = ora)

)

)

一般是配置方法不对造成的。

配置方法如下:

1、找到$ORACLE_HOME/client_1/network/admin目录下的tnsnamesora文件,并用文本模式打开。

2、添加以下内容:

本地实例名=

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 端口号))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = 服务名)

    )

  )

3、用PL/SQL工具登录即可。

(1)Oracle的相关服务

OracleDBConsoleorcloem 控制台的服务进程 网页访问 OracleJobSchedulerORCL 定时器的服务进程启动会占很大内存默认为禁止 OracleOraDb10g_home1iSQLPlus isqlplus的服务进程 OracleOraDb10g_home1TNSListener 监听器的服务进程 任何客户端连接都需要用到默认端口: 1521 OracleServiceORCL 数据库服务进程

(2)服务设置

我的电脑——>右击,管理——>服务和应用程序——>服务,将所有服务都设置为手动。

(3)建立批处理文件

在D盘建立目录bat,用于存放所有的批处理文件建立两个文件D:\bat\startOraclebat和D:\bat\stopOraclebat

startOraclebat

@echo off net start OracleOraDb10g_home1TNSListener net start OracleServiceORCL net start OracleDBConsoleorcl 注意:@echo off是关掉回显,以后的命令不显示出来。不显示后续命令行及当前命令行 或者

@TITLE ORACLE:STARTING @NET START OracleOraDb10g_home1iSQLPlus @NET START OracleOraDb10g_home1TNSListener @NET START OracleServiceORCL @TITLE ORACLE:STARTED @PAUSE

stopOraclebat

@echo off net stop OracleDBConsoleorcl net stop OracleServiceORCL net stop OracleOraDb10g_home1TNSListener或者 @TITLE ORACLE:STOPPING @NET STOP OracleOraDb10g_home1iSQLPlus @NET STOP OracleOraDb10g_home1TNSListener @NET STOP OracleServiceORCL @TITLE ORACLE:STOPPED @PAUSE

(4)启动方法

A保存之后,便可以直接通过双击文件,即可启动或者关闭服务 B设置环境变量在环境变量中的系统变量中,在PATH后面添加D:\bat不要忘记用分号; 和前面的环境变量隔开,然后直接在开始菜单中的运行中输入startoracle或者 stoporacle(文件名)即可执行相应的文件

为方便完成指定数据表的同步 *** 作,可以采用dblink与merge结合的方法完成。

*** 作环境: 此数据库服务器ip为19216819676,有center与branch两个库,一般需要将center的表数据同步到branch,center为源库,branch为目标库,具体步骤如下:

1在源库创建到目标库的dblink

create database link branch     --输入所要创建dblink的名称,自定义   connect to dbuser identified by “password”  --设置连接远程数据库的用户名和密码   using '19216819676/branch';  --指定目标数据库的连接方式,可用tns名称

在创建dblink时,要注意,有时候可能会报用户名和密码错误,但实际上我们所输入的账户信息是正确的,此时就注意将密码的大小写按服务器上所设置的输入,并在账号密码前号加上双引号(服务器版本不同造成的)。

2成功后验证dblink

select from tb_bd_action@branch; --查询创建好的brach库

正常情况下,如果创建dblink成功,可采用该方式访问到远程数据库的表

3通过merge语句完成表数据同步

此例中需要将center库中的tb_sys_sqlscripe表同步到branch,简单的语法如下:

merge into tb_sys_sqlscripe@branch b using tb_sys_sqlscripe c on (bpk=cpk)  --从center将表merge到branch,同步的依据是两个表的pk

when matched then  update set bsqlscripe=csqlscripe,bauthor=cauthor  --如果pk值是相同则将指定表的值更新到目标表

when not matched then   --如果pk值不一至,则将源表中的数据整条插入到目标表中

insert values (cpk, cfk, ccreatetime, clastmodifytime,cauthor,cmodule,cdeleteflag, cscripttype);

commit;               --记得merge后必须commit,否则更改未能提交

4为方便每次需要同步时自动完成同步工作,可将该语句做成存储过程或脚本来定时执行或按要求手动执行,简单说一下创建脚本的方法:

a创建merge文件夹

b先将merge语句写完整后,存到mergesql文件中

c新建mergebat文件,编辑后写入以下内容

sqlplus user/password@serverip/database @"%cd%\mergesql"

以上就是关于toad安装的是32位的oracle客户端,能不能访问64位oracle数据库全部的内容,包括:toad安装的是32位的oracle客户端,能不能访问64位oracle数据库、如何配置oracle数据库环境、odac怎么添加链接连接oracle等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9385306.html

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

发表评论

登录后才能评论

评论列表(0条)

保存