SQL Server 2005 Express 访问 Oracle 10
 
    EXEC master.dbo.sp_addlinkedserver
 
    @server = N'TESTLINK',
 
    @srvproduct=N'Oracle',
 
    @provider=N'MSDAORA',
 
    @datasrc=N'TEST'
 
    GO
 
    这一句在 SQLServer 下创建一个数据库链接。
 
    连接名为TESTLINK
 
    Oracle 数据源是 TEST
 
    要求在SQL Server 的机器上面,安装有Oracle 的客户端。
    那个Oracle 数据源,配置文件在
 
    E:oracleproduct10.2.0client_1NETWORKADMIN
 
    目录下。
 
    内容为:
 
    # tnsnames.ora Network Configuration File:E:oracleproduct10.2.0client_1networkadmintnsnames.ora
 
    # Generated by Oracle configuration tools.
 
    TEST =
 
    (DESCRIPTION =
 
    (ADDRESS_LIST =
 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.210)(PORT = 1521))
 
    )
 
    (CONNECT_DATA =
 
    (SERVICE_NAME = ORCL)
 
    )
 
    )
 
    注: 本机只安装了 SQL SERVER EXPRESS 与 Oracle 10 的客户端。
 
    Oralce 10 服务器安装在 另外一台机器上。
 
    EXEC
 
    master.dbo.sp_addlinkedsrvlogin
 
    @rmtsrvname = N'TEST',
 
    @locallogin = NULL ,
 
    @useself = N'False',
 
    @rmtuser = N'test',
 
    @rmtpassword = N'test123'
 
    GO
 
    这一句是设置默认用什么用户名/密码来访问Oracle 数据库。
 
    上面的例子是用户名为test 密码为 test123
 更多http://www.cnblogs.com/phpmisishtml/
    数据库链接创建完毕后,可以尝试查询:
 
    这里的TESTLINKTEST.TEST_MAIN。
 
    第一个TESTLINK是数据库链接名
 
    第二个TEST 是Oracle 那里的Test 用户的方案名
 
    TEST_MAIN 是Test 用户下的一个表。
 
    1> select * from TESTLINKTEST.TEST_MAIN;
 
    2> go
 
    ID VALUE
 
    --------------------------------------------------
 
    1 ONE
 
    2 TWO
 
    3 TWO
 
    (3 行受影响)
 
    注:假如创建链接完毕后,执行查询的时候,提示MSDAORA 找不到Oracle 客户端的话。如果本机安装的是Oracle 9 / 10 。那么有可能是权限的问题,需要额外在操作系统那里设置一下。
 
    以本机为例子:
 
    需要选择E:oracleproduct10.2.0client_1这个目录。
 
    鼠标右键,弹出菜单中,选择“属性”。
 
    然后在“安全”选项中,增加一个EveryOne 用户。并设置完全控制。
 
    然后重新启动计算机。
 
    重新启动完毕后,应该就正常了。