SQL SERVER 2008关于链接ORACLE数据库有关问题
SQL SERVER 2008关于链接ORACLE数据库问题
我用SQL SERVER2008做个链接服务器,链到ORACLE上,然后我看网上写的资料如下:
这样我们就建好了链接服务器,已经可以通过它对oracle数据库进行查询,这里有两种查询方式。
1、SELECT * FROM OraclePolice..TESTDB.TABLE_TEST
(链接服务器别名..Oracle名.oracle表,注意使用大写)
这种方式可以进行操作,优点是使用简单,一目了然,而缺点是性能太差,查询大数据量表很慢。效率太差。
2、SELECT * FROM openquery(OraclePolice,'SELECT * FROM TABLE_TEST')
经试验,这种查询方式速度几乎和在Oralce中一样快。并且我们可以将openquery() 当做表来用。例如
insert into openquery(OraclePolice,'SELECT * FROM TABLE_TEST')
values();--向oracle数据表插入数据
SELECT * FROM openquery(OraclePolice,'SELECT * FROM TABLE_TEST')
where TEST_NAME='' (TEST_NAME为TABLE_TEST表中的字段)
故推荐这种查询方式。
但是, 我想问的是,如果从ORACLE向本机插资料,应该如何写?
------解决思路----------------------
insert into sqlserver_table(col1,col2,col3......)
SELECT * FROM openquery(OraclePolice,'SELECT * FROM TABLE_TEST')
where TEST_NAME='' (TEST_NAME为TABLE_TEST表中的字段)
我用SQL SERVER2008做个链接服务器,链到ORACLE上,然后我看网上写的资料如下:
这样我们就建好了链接服务器,已经可以通过它对oracle数据库进行查询,这里有两种查询方式。
1、SELECT * FROM OraclePolice..TESTDB.TABLE_TEST
(链接服务器别名..Oracle名.oracle表,注意使用大写)
这种方式可以进行操作,优点是使用简单,一目了然,而缺点是性能太差,查询大数据量表很慢。效率太差。
2、SELECT * FROM openquery(OraclePolice,'SELECT * FROM TABLE_TEST')
经试验,这种查询方式速度几乎和在Oralce中一样快。并且我们可以将openquery() 当做表来用。例如
insert into openquery(OraclePolice,'SELECT * FROM TABLE_TEST')
values();--向oracle数据表插入数据
SELECT * FROM openquery(OraclePolice,'SELECT * FROM TABLE_TEST')
where TEST_NAME='' (TEST_NAME为TABLE_TEST表中的字段)
故推荐这种查询方式。
但是, 我想问的是,如果从ORACLE向本机插资料,应该如何写?
------解决思路----------------------
insert into sqlserver_table(col1,col2,col3......)
SELECT * FROM openquery(OraclePolice,'SELECT * FROM TABLE_TEST')
where TEST_NAME='' (TEST_NAME为TABLE_TEST表中的字段)