当前位置:首页 » 数据仓库 » oracle访问sqlserver数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oracle访问sqlserver数据库

发布时间: 2022-10-02 21:24:49

1. 如何同步ORACLE和sqlserver的数据

有时候项目开发的需要,必须将sqlServer中的某县表同步到Oracle数据库汇总,有其他系统来读取这些数据,不同数据库类型之间的数据同步我们可以使用连接服务器和sqlAgent来实现。加入我们泽凯有一个和听合同管理系统,其中有表contract和contract_project是需要同步到一个MIS系统中的ORACLE,那么我们可以按照以下步骤实现数据的同步
1.在oracle数据库中建立对应的contract和contract_project表,需要同步那些数据字段我们就建立那些字段到oralce表中
需要注意哦的是oralce的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系,我们可以再sqlServer下运行:
SELECT *
FROM msdb.dbo.MSdatatype_mappings

来查看sqlServcer和oralce数据库的的类型类型对应
2.建立连接服务器,我们将oralce系统作为SQLserver的链接服务器加入到SQLserver中
有时候我们需要在sqlsercer下访问另外一个sqlserver数据库上的数据或者访问其他oracel数据库就上的数据吗,想要完成这些操作,我首先要创建一个数据库链接。
数据库链接能够让本地的一个sqlservwer登录用户勇摄到远程的一个数据库服务器上,并且像操作本地数据库一样,那么怎样创建数据库链接?
创建一个sqlserver对应的oracle的数据库链接,

2. 怎么使用SQLSERVER链接服务器访问数据库

怎么使用SQLSERVER链接服务器访问数据库

步骤1:打开企业管理器,如下。

2
步骤2:选择数据库,安全性,点击新建链接服务器。

3
步骤3:选择链接服务器属性,常规,输入名称:TEST,选择ORACLE数据库提供程序,输入名称、数据源。

4
步骤4:进行安全性设置。本地登录,选择SQLServer数据库登录用户,远程登录用户和密码,输入远程连接数据库的用户和密码,选择用此安全上下文进行,输入远程登录用户和密码。

5
步骤5:点击TEST链接服务器下的表,我们可以访问ORACLE数据库的表了。
注意:产品名称要和所链接的服务器相对应,使用ORACLE数据库就要输入ORACLE,使用SQLServer就输入SQLServer。

3. 如何用sqlserver连oracle

  1. 安装好oracle客户端,并配置好TNS信息。

  2. 配置好odbc连接信息,sql server肯定不能直接调用oracle的客户端去连接的,只能通过odbc的方式间接的去连,先要打开odbc界面。

  3. 在Linked Servers下面会看到ORA_ARWEN,大功告成了。

4. jdbc为什么用oracle的驱动可以连接sqlserver的数据库

前期准备,具体包括

1]

下载安装SQL Server(本文以SQL Server 2012为例)

2]

下载Microsoft JDBC Driver for SQL Server

3]

下载并且安装集成开发环境 Eclipse IDE for Java EE Developers(可选)

准备用于查询的数据库和数据表

打开SQL Server Manage Studio打开SQL Server 2012

新建一个名为UniversityDB的数据库

新建一个名为course的表并且插入如下记录

5. 如何使用Oracle SQLDeveloper 中连接MS SQLServer和MySQL数据库

如何使用Oracle SQLDeveloper
中连接MS SQLServer和MySQL数据库

一、连接至MySQL数据库

1.下载mysql的jdbc驱动, [url]http://dev.mysql.com/downloads/[/url] 免费,嘿嘿。

2.解压zip文件(我下载的版本是mysql-connector-java-5.1.5),我们要用的是mysql-connector-java-5.1.5-bin.jar文件。

/** 添加MySQL JDBC驱动的方法

a、将这个jar文件放在你的

\Tomcat6.0\lib下(Tomcat6版本)

\Tomcat5.5\commom\lib(Tomcat5.5或者5.0的版本)

b、也可以通过配置环境变量classpath,修改。

c、如果用的是Eclipse(MyEclipse),JB,NB可以导入包。

注意:这个文件可以放到3个不同的位置,作用范围也不同:

如果是linux系统:

/usr/java/jdk/jre/lib/ext——————所有Java应用

/usr/local/resin/lib—————————所有JSP/Servlet应用

网站根目录/WEB-INF/lib 单个网站

如果放到resin的目录,重新启动resin即可:/etc/init.d/resin restart

如果是Win2000系统,放到类似的目录,如:

D:\jdk\jre\lib\ext D:\resin\lib 网站根目录\htdocs\WEB-INF\lib

*/

3.运行SQL developer,选择菜单“Tools->Preferences”,在打开的窗口中选择“database->Third
Party JDBC Drivers”然后点击“Add Entry...”,选择 mysql-connector-java-5.1.5-bin.jar
(从你解压的文件夹中选择),点击确定。

4.然后新建连接,一切OK

二、连接到Ms SQL Server数据库

1.首先要到 [url]http://sourceforge.net[/url] 下载
net.sourceforge.jdbc.driver,本人使用的版本是 jtds-1.2.2.jar

2.将压缩包中的jtds-1.2.2.jar复制到“<sql
developer>/sqldeveloper/lib”文件夹或任意文件夹,也可以只解压缩在本地也可 :)

3.运行SQL developer,选择菜单“Tools->Preferences”,在打开的窗口中选择“database->Third
Party JDBC Drivers”然后点击“Add Entry...”,选择 jtds-1.2.2.jar
(从你解压的文件夹中选择),点击确定。

4.然后新建连接,一切OK。

/** 如果连接不上SQL SERVER可能需要执行以下步骤:

1. 把JtdsXA.dll 到<SQL SERVER 2000>\bin目录中

2. 以 sa login SQL Query Analyzer, 执行 instjtds.sql
(执行一次失败可以执行多次,嘿嘿)

3. 做好一切后, 打开 sqldeveloper.exe, 创建新的Connection

4. 在 ORACLE SQL Developer中, 点File->New->选中 Database
Connection,点确定

在弹出的UI中选择"SQLServer"页签, 再填写相关的Loginner及Pwd和Connection Name后

点一下Retrieve database按钮, 然后在其旁边的下接框中选取想要连接的Database就可以



5. 注意:密码一项不能为NULL, 密码为NULL的loginner需要更改密码后才能连接

*/

6. 如何在oracle中取到sqlserver数据库中的数据

试试用DBLink连到另外一个库上:
-- Create database link
create public database link 名字
connect to user identified by password
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = PORT)))(CONNECT_DATA = (SERVICE_NAME = SID)))';

使用时候 可以使用select × from TB名@DBLink_Name

7. oracle 数据库和SQL Server数据库如何实现相互通信

sqlserver可以使用linkserver实现访问oracle;
oracle可以使用database link实现访问sqlserver;
这样访问对方就像访问本地数据库一样。

8. 如何连接SQL Server与Oracle数据库

telnet
指令,远程连接sqlserver数据库所在机器,然后通过用户名密码就可以连上了

9. oracle 直接访问sqlserver

1、在安装了ORACLE9i Standard Edition或者ORACLE9i Enterprise Edition的windows机器上(IP:192.168.0.2), 产品要选了透明网关(Oracle Transparent Gateway)里访问Microsoft SQL Server数据库

$ORACLE9I_HOME\tg4msql\admin下新写initpubs.ora和initnorthwind.ora配置文件.

initpubs.ora内容如下:

HS_FDS_CONNECT_INFO="SERVER=SQLSERVER_HOSTNMAE;DATABASE=pubs"

HS_DB_NAME=pubs

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

initnorthwind.ora内容如下:

HS_FDS_CONNECT_INFO="SERVER=sqlserver_hostname;DATABASE=Northwind"

HS_DB_NAME=Northwind

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

$ORACLE9I_HOME\network\admin 下listener.ora内容如下:

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = test9)

(ORACLE_HOME = d:\oracle\ora92)

(SID_NAME = test9)

)

(SID_DESC=

(SID_NAME=pubs)

(ORACLE_HOME=d:\Oracle\Ora92)

(PROGRAM=tg4msql)

)

(SID_DESC=

(SID_NAME=northwind)

(ORACLE_HOME=d:\Oracle\Ora92)

(PROGRAM=tg4msql)

)

)

重启动这台做gateway的windows机器上(IP:192.168.0.2)TNSListener服务.

(凡是按此步骤新增可访问的SQL Server数据库时,TNSListener服务都要重启动)

2、ORACLE8I,ORACLE9I的服务器端配置tnsnames.ora, 添加下面的内容:

pubs =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SID = pubs)

)

(HS = pubs)

)

northwind =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SID = northwind)

)

(HS = northwind)

)

保存tnsnames.ora后,在命令行下

tnsping pubs

tnsping northwind

出现类似提示,即为成功

Attempting to contact (DESCRIPTION = (ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)

(PORT = 1521))) (CONNECT_DATA = (SID = pubs)) (HS = pubs))

OK(20毫秒)

Attempting to contact (DESCRIPTION = (ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)

(PORT = 1521))) (CONNECT_DATA = (SID = northwind)) (HS = northwind))

OK(20毫秒)

设置数据库参数global_names=false。

设置global_names=false不要求建立的数据库链接和目的数据库的全局名称一致。global_names=true则要求, 多少有些不方便。

oracle9i和oracle8i都可以在DBA用户下用SQL命令改变global_names参数

alter system set global_names=false;

建立公有的数据库链接:

create public database link pubs

connect to testuser identified by testuser_pwd using 'pubs';

create public database link northwind

connect to testuser identified by testuser_pwd using 'northwind';

(假设SQL Server下pubs和northwind已有足够权限的用户登陆testuser,

密码为testuser_pwd)

访问SQL Server下数据库里的数据:

select * from stores@pubs;

...... ......

select * from region@northwind;

...... ......

3、使用时的注意事项

ORACLE通过访问SQL Server的数据库链接时,用select * 的时候字段名是用双引号引起来的。

例如:

create table stores as select * from stores@pubs;

select zip from stores;

ERROR 位于第 1 行:

ORA-00904: 无效列名

select "zip" from stores;

zip

-----

98056

92789

96745

98014

90019

89076

已选择6行。

用SQL Navigator或Toad看从SQL Server转移到ORACLE里的表的建表语句为:

CREATE TABLE stores

("stor_id" CHAR(4) NOT NULL,

"stor_name" VARCHAR2(40),

"stor_address" VARCHAR2(40),

"city" VARCHAR2(20),

"state" CHAR(2),

"zip" CHAR(5))

PCTFREE 10

PCTUSED 40

INITRANS 1

MAXTRANS 255

TABLESPACE users

STORAGE (

INITIAL 131072

NEXT 131072

PCTINCREASE 0

MINEXTENTS 1

MAXEXTENTS 2147483645

)

/

总结:

WINDOWS下ORACLE9i网关服务器在$ORACLE9I_HOME\tg4msql\admin目录下的initsqlserver_databaseid.ora

WINDOWS下ORACLE9i网关服务器listener.ora里面

(SID_DESC=

(SID_NAME=sqlserver_databaseid)

(ORACLE_HOME=d:\Oracle\Ora92)

(PROGRAM=tg4msql)

)

UNIX或WINDOWS下ORACLE8I,ORACLE9I服务器tnsnames.ora里面

northwind =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SID = sqlserver_databaseid)

)

(HS = sqlserver_databaseid)

)

sqlserver_databaseid一致才行.
来自(http://www.enet.com.cn/article/2004/0212/A20040212285219.shtml)