SQL SERVER连接oracle数据库几种方法
--1 方式
--查询oracle数据库中的表
SELECT *FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160User ID=DAIMINPassword=DAIMIN'
)..DAIMIN.JOBS
--在sqlserver中创建与oracle数据库中的表同名的表
select * into JOBS fromOPENDATASOURCE(
'MSDAORA',
'Data Source=GE160User
ID=daiminPassword=daimin'
)..DAIMIN.JOBS
select * from JOBS
--2、方式
--在master数据库中查看已经存在的链接服务器
select * from sysserversEXEC sp_addlinkedserver
@server = 'GE160',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'GE160'
exec sp_addlinkedsrvlogin 'GE160', false, 'sa', 'daimin', 'daimin'
--要在企业管理器内指定登录帐号
exec sp_dropserver GE160select * from GE160..DAIMIN.JOBS
delete from GE160..DAIMIN.JOBS
--备注:引用ORACLE服务器上的表时,用户名称与表名一定要大写字母。
SELECT *FROM OPENQUERY(GE160, 'SELECT * FROM DAIMIN.JOBS')
--3、方式
SELECT a.*FROM OPENROWSET('MSDAORA',
'GE160''DAIMIN''DAIMIN',
DAIMIN.JOBS) AS a
ORDER BY a.JOB_ID
--4、方式 ODBC
--ODBC方式比较好办
SELECT A.*FROM
OPENROWSET('MSDAORA','GE160''DAIMIN''DAIMIN', --GE160是数据源名
DAIMIN.JOBS) AS
A
ORDER BY A.JOB_ID
Connection conn = nullClass.forName("oracle.jdbc.driver.OracleDriver")//加入oracle的驱动,“”里面是驱动的路径
String url = "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL"// 数据库连接,oracle代表链接的是oracle数据库;thin:@MyDbComputerNameOrIP代表的是数据库所在的IP地址(可以保留thin:);1521代表链接数据库的端口号;ORCL代表的是数据库名称
String UserName = "root"// 数据库用户登陆名 ( 也有说是 schema 名字的 )
String Password = "2006"// 密码
conn = DriverManager.getConnection(url, UserName, Password)
方法如下:1、 启动Navicat ,连接->oracle,配置如下:连接名随便起
2、Basic连接类型:连接类型有两种,我们先看用Basic的连接方式,此方法适合没有安装Oracle客户端的机器,配置好之后,点连接测试,如果你数据库没有问题,则能连接测试成功。
3,TNS连接类型:选择TNS监听连接类型,你首先要安装好oracle客户端,安装完成后,连接数据库时,先配置OCI.dll路径,Navicat->工具>选项>OCI,将oci.dll路径设置成你安装客户端的路径,如本例:D:\app\Administrator\product\11.2.0\client_2\oci.dll,
4,还有一步要做,到连接的Oracle数据库目录下找到tnsnames.ora文件,一般路径在D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下,将该文件拷贝到你安装的oracle客户端目录下,如D:\app\Administrator\product\11.2.0\client_1\Network\Admin\tnsnames.ora,在连接时就可以直接用TNS方式连接了,程序会自动识别你的网络连接名,如果没有自动识别网络连接名,说明配置的不对,再检查下有说明漏的。
5,配置好之后,点连接测试,如果你数据库没有问题,则能连接测试成功。
注意:如果连接不上,检查下tnsnames.ora文件,看看(HOST = Localhost),如果你连接的是本地Oracle数据库,可能没问题,如果是远程的,一定要改成ip地址,我的配置如下:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.129)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
6,连接成功后,你就可以像 *** 作其他数据库一样,可视化的管理Oracle数据库,建表,建字段,删除,修改,备份等都可以做.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)