服务器

位置:IT落伍者 >> 服务器 >> 浏览文章

SQL Server的链接服务器技术小结


发布日期:2019年07月05日
 
SQL Server的链接服务器技术小结

使用 Microsoft OLE DB Provider For ODBC 链接MySQL

安装MySQL的ODBC驱动MyODBC

为MySQL建立一个ODBC系统数据源例如:选择数据库为test 数据源名称为

myDSN

建立链接数据库

EXEC sp_addlinkedserver @server = MySQLTest @srvproduct=MySQL

@provider = MSDASQL @datasrc = myDSN

GO

EXEC sp_addlinkedsrvlogin

@rmtsrvname=MySqlTest@useself=false@locallogin=sa@rmtuser=mys

ql的用户名@rmtpassword=mysql的密码

查询数据

SELECT * FROM OPENQUERY (MySQLTest select * from 表 )

下面这个不行:

SELECT * FROM OPENQUERY (MySQLTest )

注意:不能直接用select * from 链接服务器名数据库名用户名表(或视图)

四部分名称查询数据可能是个Bug

使用 Microsoft OLE DB Provider For ORACLE 链接ORACLE

建立链接数据库

sp_addlinkedserver 别名 Oracle MSDAORA 服务名

GO

EXEC sp_addlinkedsrvlogin @rmtsrvname=别名

@useself=false@locallogin=sa@rmtuser=oracle用户名

@rmtpassword=密码

查询数据

SELECT * FROM 别名用户名表(视图)

注意:四部分名称全部用大写

执行存储过程

使用OPENQUERY:

SELECT *

FROM OPENQUERY(别名 exec 用户名存储过程名)

设置链接服务器以访问格式化文本文件

用于 Jet 的 Microsoft OLE DB 提供程序可用于访问并查询文本文件

若要直接创建访问文本文件的链接服务器而不将文件链接为 Access mdb 文件中的表请执行 sp_addlinkedserver如下例所示

提供程序是 MicrosoftJetOLEDB提供程序字符串为Text数据源是包含文本文件的目录的完整路径名称schemaini 文件(描述文本文件的结构)必须与此文本文件存在于相同的目录中有关创建 schemaini 文件的更多信息请参见 Jet 数据库引擎文档

Create a linked server

EXEC sp_addlinkedserver txtsrv Jet

MicrosoftJetOLEDB

c:\data\distqry

NULL

Text

GO

Set up login mappings

EXEC sp_addlinkedsrvlogin txtsrv FALSE NULL Admin NULL

GO

List the tables in the linked server

EXEC sp_tables_ex txtsrv

GO

Query one of the tables: file#txt

using a part name

SELECT *

FROM txtsrv[file#txt]

链接SQL Server服务器:

使用 ODBC 的 Microsoft OLE DB 提供程序

EXEC sp_addlinkedserver 别名MSDASQLNULLNULLDRIVER={SQL

Server};SERVER=远程名;UID=用户;PWD=密码;

如果加上参数@catalog可以指定数据库

exec sp_addlinkedsrvlogin @rmtsrvname=别名

@useself=false@locallogin=sa@rmtuser=sa@rmtpassword=密码

使用SQL Server 的 Microsoft OLE DB 提供程序

exec sp_addlinkedserver @server=别名

@provider=sqloledb@srvproduct=@datasrc=远程服务器名

exec sp_addlinkedsrvlogin

@rmtsrvname=wzb@useself=false@locallogin=sa@rmtuser=sa@rmtp

assword=密码

然后你就可以如下:

select * from 别名库名dbo表名

insert 库名dbo表名 select * from 别名库名dbo表名

select * into 库名dbo新表名 from 别名库名dbo表名

go

此示例在 SQL Server 的实例上创建一台名为 S_instance 的链接服务器

该服务器使用 SQL Server 的 Microsoft OLE DB 提供程序

EXEC sp_addlinkedserver @server=S_instance @srvproduct=

@provider=SQLOLEDB

@datasrc=S\instance

建立链接服务器

EXEC sp_addlinkedserver xiaomingMSDASQLNULLNULLDRIVER={SQL

Server};SERVER=;UID=sa;PWD=;

建立链接服务器登录映射

exec sp_addlinkedsrvlogin

@rmtsrvname=xiaoming@useself=false@locallogin=sa@rmtuser=sa

@rmtpassword=

go

查询数据

select * from xiaomingschooladmindboagent

删除链接服务器登录映射和链接服务器:

exec sp_droplinkedsrvlogin xiaoming sa

exec sp_dropserver xiaoming

注意事项:

SET IDENTITY_INSERT [ database[ owner] ] { table } { ON | OFF }

所以不能通过连接服务器设置此属性

into 也存在这样的问题

select * into xiaomi from

xiaomi

设置链接服务器以访问Access数据库

使用用于 Jet 的 Microsoft OLE DB 提供程序

此示例创建一台名为 test的链接服务器

说明 本示例假设已经安装 Microsoft Access 和示例 Northwind 数据库

Northwind 数据库驻留在 C:\

USE master

GO

To use named parameters:

EXEC sp_addlinkedserver

@server = test

@provider = MicrosoftJetOLEDB

@srvproduct = OLE DB Provider for Jet

@datasrc = C:\Northwindmdb

GO

OR to use no named parameters:

USE master

GO

EXEC sp_addlinkedserver

test

OLE DB Provider for Jet

MicrosoftJetOLEDB

C:\Northwindmdb

GO

使用

select * from test表名

连接SYBASE

首先你要在SQL服务器上装上访问sybase的客户端

创建链接服务器

exec sp_addlinkedserver Sybase MSDASQL NULL NULL

Driver={Sybase System

};Database=hisdb;Srvr=;UID=sa;PWD=;

使用:

select * from Sybasehisdbdbotable

方法二

使用ODBC

SQL Server到SYBASE连接服务器的实现

作者: CCBZZP

本文的测试环境为:

操作系统: WINDOWS SERVER (繁体系统)

安装数据库: SQLSERVER(英文版)和SYBASE客户端(英文版)

具体实现步骤:

要求pc机上安装SYBASE客户端软件和sqlserver软件

配置windows的ODBC数据源:

开始菜单—》程式集—》系统管理工具—》资料数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:添加—》选择ADAPTIVE SERVER ANYWHERE—》自定义数据源名称(随意如: SYBASETEST)—》数据库名称(必选!)—》OK完成

选择刚才配置的数据源名称 再选择 配置 跳出SYBASETEST MESSAGES:

The data source is not connected Connecting to the data source will

provide useful information during configuration Would you like to

connect to the data source?

选择YES(OK或确认)即可

进入CONNECT TO SYBASE DATABASE画面:

USER ID: 输入SYBASE DATABASE的用户

PASSWORD: 输入SYBASE DATABASE的用户的密码

CONNECTION MODE: 可以选择默认的SHARE模式

选择OK(确认)即可!

配置和测试ODBC完成!

配置sqlserver中的连接服务器:

企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名称; 选其他数据源; 指定程序名称为:SYBASE ADAPTIVE SERVER ANYWHERE PROVIDER; 产品名称可不填; 数据源指定刚才ODBC中定义好的数据源名称;提供程序字符串按以下格式填写:User ID=username;Password=userpasswd(或者按如下格式:UID=               

上一篇:SQLserver服务器大内存配置

下一篇:远程连接sql server服务器的方法