网络上看到很多种方法。我还是喜欢用可视化操作。
在服务器对象中点击链接服务器,然后点击新建,然后访问接口填Microsoft ole db provider for oracle.(oracle for provider好像不能用,不懂的查询语句的标准写法)
产品名称填Oracle(不知道是不是必须的)
数据源填我们在tnsname.ora中设置的名称,不是网络上说的ip或者服务器地址,至少我只能这样才可以。
访问接口字符串不用填。
最后点安全性选项卡,使用安全上下文建立链接,然后填入用户名密码。在上面点添加也可以,此方法在本地登陆中,是填登陆sqlserver的用户名与密码,然后远程用户名密码和上面一样都是填oracle的用户名与密码。
访问数据的方法:
1.查询
假设我们在新建那里填的链接服务器名称为cs。我们要访问的数据库dbo是school
那就要是select * from openquery(cs,'select * from school.表名')
2.insert
将表导入到oracle数据库中
insert into openquery(cs,'select * from libs')select * from lib
3.update
此方法我没有用到,抄网络上的。
udpate openquery(cs,'select * from libs where id=1111')set id=23
4.delete
delete from openquery(cs,'select * from libs')
ps:第二天再次使用次配置机器访问的时候居然不能访问oracle了,看了很多资料,觉得是集中在oracle客户端的问题上,跟踪发现,注册表里有两个oracle客户端(这台机不是我的),odbc数据源里也有两个,其中一个失效。无语,先重装了oracle客户端,但是再删除oracle客户端后要停止所有服务(默认好像卸载后就停止了,我是重启机子了)。不过安装完后,发现odbc数据源里还是有两个oracle,其中一个后面什么字都没写,算了。我先试用,发现现在就可以了,真奇怪。我觉得问题关键可能没有出来,害怕明天又有问题啊。