PLSQL Developer 开发工具,可以用来开发sql server数据库么?请问怎么连接呢?谢谢 PLSQL Developer 开发工具,可以用来开发sql server数据库么?请问怎么连接呢?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最好的工具就是sqlserver自带的SQL Query Analyzer.如果它都不行,其它的更不说了. 何必呢?PLSQL Developer 本来就是开发PL/SQL的sqlserver还是用SQL Query Analyzer. 没听过,读取倒是可以Oracle与SQL Server的互连 http://www.cnoug.org/viewthread.php?tid=8228 作者:gototop 不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。 而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。 透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。 下面是具体步骤,如有疑问欢迎和我联系,MSN: [email protected]。 1、在SQL SERVER数据库上创建测试账号和表 这里我用的是10.16.74.140的PUBS数据库,账号cyx, create table t (c char(10)); 2、我测试所用数据库和透明网关是在同一台机器上,在我本机:10.16.98.16,透明网关在oracle默认安装时是不安装的,所以如果你想用需要选择这一选项。 3、安装透明网关for sql server的软件后,可以在$ORACLE_HOME下看到tg4msql目录,编辑$ORACLE_HOME/tg4msql/admin/inittg4msql.sql文件确认这一行正确: HS_FDS_CONNECT_INFO="SERVER=10.16.74.140;DATABASE=pubs" 4、修改透明网关server上的listener.ora,在SID_LIST中加入以下内容: (SID_NAME = tg4msql) # SID自己命名 (ORACLE_HOME = c:) (PROGRAM = tg4msql) 5、在oracle server上的tnsnames.ora中加入到透明网关的tnsname,内容如下: sql2k = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.98.16)(PORT = 1521)) #此处HOST填的是透明网关SERVER的地址 ) (CONNECT_DATA = (SID = tg4msql) ) #此SID应和透明网关SERVER上设定的SID相同 (HS=OK) ) 6、修改ORACLE SERVER的初始化参数,将global_names设为false,因为我们并不使用GLOBAL NAME。然后重起数据库。 7、现在在ORACLE SERVER上创建DB LINK就可以了。下面实验数据: ------------ www.ncn.cn ------------- gototop -------------- C:>sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 6月 25 13:29:41 2003 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> conn sys/change_on_install as sysdba 已连接。 SQL> create user cyx identified by cyx default tablespace users; 用户已创建 SQL> grant connect to cyx; 授权成功。 SQL> grant resource to cyx; 授权成功。 SQL> conn cyx/cyx 已连接。 SQL> create database link tosql2k connect to cyx identified by cyx using 2 'sql2k'; 数据库链接已创建。 SQL> select * from t@tosql2k; c ---------- abc aaa bbb cyx gototop ncn 11111 已选择7行。 SQL> insert into t@tosql2k values('ncn.cn'); 已创建 1 行。 SQL> commit; 提交完成。 SQL> select * from t@tosql2k; c ---------- abc aaa bbb cyx gototop ncn 11111 ncn.cn 已选择8行。 ------------ www.ncn.cn ------------- gototop -------------- 以上示例,oracle server和透明网关server都是在同一台机器上,像在开始说明的那样,我们同样可以在其他下面oracle server中通过透明网关来访问sql server的数据。下面是示例: 现在这个oracle server上添加tnsname。 ------------ www.ncn.cn ------------- gototop -------------- hawk3$sqlplus cyx SQL*Plus: Release 8.1.7.0.0 - Production on Wed Jun 25 14:00:34 2003 (c) Copyright 2000 Oracle Corporation. All rights reserved. Enter password: Connected to: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production SQL> create database link hawk3_sql2k connect to cyx identified by cyx 2 using 'sql2k'; Database link created. SQL> select * from t@hawk3_sql2k; c -------------------- abc aaa bbb cyx gototop ncn 11111 ncn.cn 8 rows selected. ------------ www.ncn.cn ------------- gototop -------------- gototop 2003.7.25注:很多朋友问到关于透明网关的一些问题,在此加以说明如下: 1、Oracle For SQL Server的透明网关在UNIX下无法实现,目前只支持WIN; 原因很简单,SQL Server本身不支持UNIX,所以Oracle也无法直接在UNIX下访问SQL Server。 2、Oracle For其它数据库的透明网关,如SYBASE等有UNIX本版本的数据库在UNIX可以实现。 3、Oracle透明网关软件在Oracle 8i时是需要花钱另买的,大约1万$;到Oracle 9i时是作为数据库的一个组件免费发布的。安装时在组件种选择即可。 4、针对我们的实际应用,如果有需要实现Oracle 到SQL Server的互连,我们需要另外用一台WIN下的Oracle 9i来做透明网关服务器,其它UNIX下的Oracle通过这个透明网关来访问SQL Server。 5、不同数据库间的数据处理需使用标准SQL来实现。 6、各数据库中特殊的数据类型,需要在程序中实现转换,应尽量避免使用无法转换的数据类型。 Oracle下配置透明网关访问MS SQL SERVER配置环境:Oracle服务器:192.168.1.218 Oracle9.2.0.1 for Windows SID:lrdbMS SQL服务器:192.168.1.244 SQL SERVER 2000 要访问的库:lfkf1、安装 TRANSPARENT GATEWAY 选件(FOR MSSQL) 安装完成了以后有这样一个目录 $ORACLE_HOME\ora90\tg4msql 2、 配置 LISTENER.ORA, 在SID_LIST_LISTENER下添加: (SID_DESC = (GLOBAL_DBNAME = sql2000) # 可自己命名 (PROGRAM = tg4msql) (SID_NAME = sql2000) # SID 自己命名 (ORACLE_HOME = D:\oracle\ora92) ) 3、 在 oracle_home\ora90\tg4msql\admin 建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000 因此文件名为:initsql2000.ora 其中内容为: HS_FDS_CONNECT_INFO="SERVER=192.168.1.244;DATABASE=lfkf" HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER 4、重启LISTENER 5、配置 tnsnames.ora sql2000 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.218)(PORT = 1521)) ) (CONNECT_DATA = (SID = sql2000) ) (HS=OK) ) 6、建立数据库链: CREATE DATABASE LINK DB_SQL CONNECT TO sms IDENTIFIED BY linkrich USING 'sql2000';7、完成,测试 select * from demo@db_sql注意:Transparent Gateway for Microsoft SQL Server目前只有NT版本,因此网关程序tg4msql仅包含在 Oracle Database for windows中。1: 安装 TRANSPARENT GATEWAY 选件(FOR MSSQL)安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql2: 配置 LISTENER.ORA(SID_DESC =(GLOBAL_DBNAME = tg4sql) # 可自己命名(PROGRAM = tg4msql)(SID_NAME = sql2000) # SID 自己命名(ORACLE_HOME = D:\oracle\ora90))3: 在 oracle_home\ora90\tg4msql\admin建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000因此文件名为:initsql2000.ora其中内容为:HS_FDS_CONNECT_INFO=svr1.master # svr1为SQL服务器名HS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER4: 重启 DATABASE AND LISTENER5: 配置 tnsnames.oratg_sql = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = SVR1)(PORT = 1521)) ) (CONNECT_DATA = (SID = sql2000) ) (HS=OK) ) 6: 建立 DATABASE LINKCREATE PUBLIC DATABASE LINK DB_SQLCONNECT TO SA IDENTIFIED BY PASSWORDUSING 'tg_sql'7: 完成,测试select * from t_test@db_sql8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,如果为 FALSE, 不必使用全称,当出现 “ORA-02019:为找到远程数据库的连接说明”时,请使用全称,如:select * from t_test@db_sql.US.ORACLE.COM 如何用PL/SQL语言生成动态的EXECL文件 求教一个sql语句的写法 这两句话是什么意思?大概是个什么结果 求一条sql语句 请问PLSQL Developer是否可以连接SQL server20000? 高手解决,高分相送??? 请教pl/sql developer问题 SQL语句中返回上周(周一至周日的日期)怎么个写法? 请问我要在oracle里实现top 20的功能,应该怎么实现呢?谢谢啦,,, 口令 如何在proc和oci中使用脚本 请问大虾们:这是什么问题造成的?
http://www.cnoug.org/viewthread.php?tid=8228
作者:gototop
不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。
而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。
透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。
下面是具体步骤,如有疑问欢迎和我联系,MSN: [email protected]。
1、在SQL SERVER数据库上创建测试账号和表
这里我用的是10.16.74.140的PUBS数据库,账号cyx,
create table t (c char(10));
2、我测试所用数据库和透明网关是在同一台机器上,在我本机:10.16.98.16,透明网关在oracle默认安装时是不安装的,所以如果你想用需要选择这一选项。
3、安装透明网关for sql server的软件后,可以在$ORACLE_HOME下看到tg4msql目录,编辑$ORACLE_HOME/tg4msql/admin/inittg4msql.sql文件确认这一行正确:
HS_FDS_CONNECT_INFO="SERVER=10.16.74.140;DATABASE=pubs"
4、修改透明网关server上的listener.ora,在SID_LIST中加入以下内容:
(SID_NAME = tg4msql) # SID自己命名
(ORACLE_HOME = c:)
(PROGRAM = tg4msql)
5、在oracle server上的tnsnames.ora中加入到透明网关的tnsname,内容如下:
sql2k =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.98.16)(PORT = 1521)) #此处HOST填的是透明网关SERVER的地址
)
(CONNECT_DATA = (SID = tg4msql) ) #此SID应和透明网关SERVER上设定的SID相同
(HS=OK)
)
6、修改ORACLE SERVER的初始化参数,将global_names设为false,因为我们并不使用GLOBAL NAME。然后重起数据库。
7、现在在ORACLE SERVER上创建DB LINK就可以了。下面实验数据:
------------ www.ncn.cn ------------- gototop --------------
C:>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 6月 25 13:29:41 2003
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn sys/change_on_install as sysdba
已连接。
SQL> create user cyx identified by cyx default tablespace users;
用户已创建
SQL> grant connect to cyx;
授权成功。
SQL> grant resource to cyx;
授权成功。
SQL> conn cyx/cyx
已连接。
SQL> create database link tosql2k connect to cyx identified by cyx using
2 'sql2k';
数据库链接已创建。
SQL> select * from t@tosql2k;
c
----------
abc
aaa
bbb
cyx
gototop
ncn
11111
已选择7行。
SQL> insert into t@tosql2k values('ncn.cn');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from t@tosql2k;
c
----------
abc
aaa
bbb
cyx
gototop
ncn
11111
ncn.cn
已选择8行。
------------ www.ncn.cn ------------- gototop --------------
以上示例,oracle server和透明网关server都是在同一台机器上,像在开始说明的那样,我们同样可以在其他下面oracle server中通过透明网关来访问sql server的数据。下面是示例:
现在这个oracle server上添加tnsname。
------------ www.ncn.cn ------------- gototop --------------
hawk3$sqlplus cyx
SQL*Plus: Release 8.1.7.0.0 - Production on Wed Jun 25 14:00:34 2003
(c) Copyright 2000 Oracle Corporation. All rights reserved.
Enter password:
Connected to:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
SQL> create database link hawk3_sql2k connect to cyx identified by cyx
2 using 'sql2k';
Database link created.
SQL> select * from t@hawk3_sql2k;
c
--------------------
abc
aaa
bbb
cyx
gototop
ncn
11111
ncn.cn
8 rows selected.
------------ www.ncn.cn ------------- gototop --------------
gototop 2003.7.25注:很多朋友问到关于透明网关的一些问题,在此加以说明如下:
1、Oracle For SQL Server的透明网关在UNIX下无法实现,目前只支持WIN; 原因很简单,SQL Server本身不支持UNIX,所以Oracle也无法直接在UNIX下访问SQL Server。
2、Oracle For其它数据库的透明网关,如SYBASE等有UNIX本版本的数据库在UNIX可以实现。
3、Oracle透明网关软件在Oracle 8i时是需要花钱另买的,大约1万$;到Oracle 9i时是作为数据库的一个组件免费发布的。安装时在组件种选择即可。
4、针对我们的实际应用,如果有需要实现Oracle 到SQL Server的互连,我们需要另外用一台WIN下的Oracle 9i来做透明网关服务器,其它UNIX下的Oracle通过这个透明网关来访问SQL Server。
5、不同数据库间的数据处理需使用标准SQL来实现。
6、各数据库中特殊的数据类型,需要在程序中实现转换,应尽量避免使用无法转换的数据类型。 Oracle下配置透明网关访问MS SQL SERVER配置环境:Oracle服务器:192.168.1.218 Oracle9.2.0.1 for Windows SID:lrdbMS SQL服务器:192.168.1.244 SQL SERVER 2000 要访问的库:lfkf
1、安装 TRANSPARENT GATEWAY 选件(FOR MSSQL)
安装完成了以后有这样一个目录 $ORACLE_HOME\ora90\tg4msql 2、 配置 LISTENER.ORA, 在SID_LIST_LISTENER下添加:
(SID_DESC =
(GLOBAL_DBNAME = sql2000) # 可自己命名
(PROGRAM = tg4msql)
(SID_NAME = sql2000) # SID 自己命名
(ORACLE_HOME = D:\oracle\ora92)
)
3、 在 oracle_home\ora90\tg4msql\admin
建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000
因此文件名为:initsql2000.ora
其中内容为:
HS_FDS_CONNECT_INFO="SERVER=192.168.1.244;DATABASE=lfkf"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
4、重启LISTENER
5、配置 tnsnames.ora sql2000 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.218)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sql2000)
)
(HS=OK)
) 6、建立数据库链:
CREATE DATABASE LINK DB_SQL CONNECT TO sms IDENTIFIED BY linkrich USING 'sql2000';7、完成,测试
select * from demo@db_sql
注意:Transparent Gateway for Microsoft SQL Server目前只有NT版本,因此网关程序tg4msql仅包含在
Oracle Database for windows中。
1: 安装 TRANSPARENT GATEWAY 选件(FOR MSSQL)
安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql2: 配置 LISTENER.ORA
(SID_DESC =
(GLOBAL_DBNAME = tg4sql) # 可自己命名
(PROGRAM = tg4msql)
(SID_NAME = sql2000) # SID 自己命名
(ORACLE_HOME = D:\oracle\ora90)
)3: 在 oracle_home\ora90\tg4msql\admin
建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000
因此文件名为:initsql2000.ora
其中内容为:
HS_FDS_CONNECT_INFO=svr1.master # svr1为SQL服务器名
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER4: 重启 DATABASE AND LISTENER5: 配置 tnsnames.ora
tg_sql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SVR1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sql2000)
)
(HS=OK)
) 6: 建立 DATABASE LINK
CREATE PUBLIC DATABASE LINK DB_SQL
CONNECT TO SA IDENTIFIED BY PASSWORD
USING 'tg_sql'7: 完成,测试
select * from t_test@db_sql8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,
如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,
如果为 FALSE, 不必使用全称,当出现
“ORA-02019:为找到远程数据库的连接说明”
时,请使用全称,如:
select * from t_test@db_sql.US.ORACLE.COM