如何跨平台数据库访问 我一台unix下的oracle数据库,,我在windows下的客户端如何访问,,轻提几个结决方案? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你连接什么平台的服务器没有关系.只要装了oracle客户端,你管他是什么平台.配好了service_name就可以了 软件环境: 1、Windows NT4.0+ORACLE 8.0.42、ORACLE安装路径为:C:\ORANT3、服务器A、服务器B,均装有NT 4.0中文版实现方法: 1. 假设A地址192.1.1.1,B地址192.1.1.22. A、B上配置好TCP/IP,互相Ping通。3. 配置init.ora文件,若global_name = true的话,database link 的名字必须同远程机的实例名相同,为简便起见,请将global_name 设为 false。4. 在服务器上配置tnsnames.ora,将Remote机器的地址(IP)信息加入本地的tnsnames.ora A服务器: TNSA_B = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.world) (PROTOCOL = TCP) (Host = 192.1.1.2) (Port = 1521) ) ) (CONNECT_DATA = (SID = ORCL) ) ) B服务器: TNSB_A = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.world) (PROTOCOL = TCP) (Host = 192.1.1.1) (Port = 1521) ) ) (CONNECT_DATA = (SID = ORCL) ) )5. 在 SQL*Plus 或其它工具中创建数据库链接 A服务器:create public database link A_TO_B connect to tmp identified by tmp using 'TNSA_B'; B服务器:create public database link B_TO_A connect to tmp identified by tmp using 'TNSB_A'; 说明: tmp是一个临时用户,A服务器、B服务器上均有,它的作用是提供链接的目的地, 假如: B服务器上有user1、user2、tmp三个用户,user1和user2把他们想要对外公开的表的权限授给tmp用户, 那么,所有能通过database link连接到tmp用户上的人就可以直接访问user1、user2上的已授权表了。6. 建立database link以后,请用这种格式select * from table_name@database_link_name 的方式访问 如:在A服务器上想访问B服务器上user1用户table1表的内容(A到B的连接为A_TO_B),则 SQL> select * from table1@A_TO_B;7. 如果Oracle版本为7.3,则数据库联接写法如下: A服务器:create public database link A_TO_B connect to tmp identified by tmp using 't:192.1.1.2:orcl'; B服务器:create public database link B_TO_A connect to tmp identified by tmp using 't:192.1.1.1:orcl'; 和你连windows平台下的数据库服务器完全相同。客户端配置服务命名,服务段配置侦听,完全相同。 9I要注意sqlnet.ora文件,如下:# SQLNET.ORA Network Configuration File: e:\oracle\ora92\network\admin\sqlnet.ora# Generated by Oracle configuration tools.#NAMES.DEFAULT_DOMAIN = huarun.comSQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)把NAMES.DEFAULT_DOMAIN 用"#"注释掉 sqlserver转oracle SQL查询的问题 如何查找INVAILD对象的错误根源? 求助,如何编写一个获取orcale数据库中表参数的存储过程 我建了一个视图,但现在查询起来速度特别慢,不知道是怎么回事,建立视图的代码如下,请大家帮忙看一下,多谢了! 触发器相关 这样的sql语句怎么写? 请教各路神仙Oracle中有没有类似sign的函数,与sign不同的对于非正数统统返回0? 一个简单的问题!!!!!!!!!!!!! 一个操作上的问题——ORACLE 的存储过程在哪里添加 急!难!如何收集以下数据库信息?在线等待,结帖马上给分! 求助!多表间建立视图,求急!
只要装了oracle客户端,你管他是什么平台.
配好了service_name就可以了
1、Windows NT4.0+ORACLE 8.0.4
2、ORACLE安装路径为:C:\ORANT
3、服务器A、服务器B,均装有NT 4.0中文版实现方法:
1. 假设A地址192.1.1.1,B地址192.1.1.22. A、B上配置好TCP/IP,互相Ping通。3. 配置init.ora文件,若global_name = true的话,database link 的名字必须同远程机的实例名相同,为简便起见,请将global_name 设为 false。4. 在服务器上配置tnsnames.ora,将Remote机器的地址(IP)信息加入本地的tnsnames.ora A服务器:
TNSA_B =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.1.1.2)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
) B服务器:
TNSB_A =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 192.1.1.1)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)5. 在 SQL*Plus 或其它工具中创建数据库链接 A服务器:create public database link A_TO_B connect to tmp identified by tmp using 'TNSA_B'; B服务器:create public database link B_TO_A connect to tmp identified by tmp using 'TNSB_A'; 说明:
tmp是一个临时用户,A服务器、B服务器上均有,它的作用是提供链接的目的地,
假如:
B服务器上有user1、user2、tmp三个用户,user1和user2把他们想要对外公开的表的权限授给tmp用户,
那么,所有能通过database link连接到tmp用户上的人就可以直接访问user1、user2上的已授权表了。6. 建立database link以后,请用这种格式select * from table_name@database_link_name 的方式访问 如:在A服务器上想访问B服务器上user1用户table1表的内容(A到B的连接为A_TO_B),则 SQL> select * from table1@A_TO_B;7. 如果Oracle版本为7.3,则数据库联接写法如下: A服务器:create public database link A_TO_B connect to tmp identified by tmp using 't:192.1.1.2:orcl'; B服务器:create public database link B_TO_A connect to tmp identified by tmp using 't:192.1.1.1:orcl';
# SQLNET.ORA Network Configuration File: e:\oracle\ora92\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.#NAMES.DEFAULT_DOMAIN = huarun.comSQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)把NAMES.DEFAULT_DOMAIN 用"#"注释掉