一、使用 Microsoft OLE DB Provider For ODBC 链接MySQL

安装MySQL的ODBC驱动MyODBC

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

2、建立链接数据库

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的密码'

3、查询数据

SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )

下面这个不行:

SELECT * FROM OPENQUERY (MySQLTest ,'表' )

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

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

二、使用 Microsoft OLE DB Provider For ORACLE 链接ORACLE

1、建立链接数据库

sp_addlinkedserver '别名', 'Oracle', 'MSDAORA', '服务名'

GO

EXEC sp_addlinkedsrvlogin @rmtsrvname='别名

',@useself='false',@locallogin='sa',@rmtuser='oracle用户名',@rmtpassword='密码'

2、查询数据

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

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

3、执行存储过程

使用OPENQUERY:

SELECT *

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

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

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

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

提供程序是 Microsoft.Jet.OLEDB.4.0,提供程序字符串为\\"Text\\"。数据源是包

含文本文件的目录的完整路径名称。schema.ini 文件(描述文本文件的结构)必

须与此文本文件存在于相同的目录中。有关创建 schema.ini 文件的更多信息,

请参见 Jet 数据库引擎文档。

--Create a linked server.

EXEC sp_addlinkedserver txtsrv, 'Jet 4.0',

'Microsoft.Jet.OLEDB.4.0',

'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: file1#txt

--using a 4-part name.

SELECT *

FROM txtsrv...[file1#txt]

四、链接SQL Server服务器:

1、使用 ODBC 的 Microsoft OLE DB 提供程序

EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL

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

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

exec sp_addlinkedsrvlogin @rmtsrvname='别名

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

2、使用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

例1、

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

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

EXEC sp_addlinkedserver @server='S1_instance1', @srvproduct='',

@provider='SQLOLEDB',

@datasrc='S1\instance1'

例2、

--建立链接服务器

EXEC sp_addlinkedserver 'xiaoming','','MSDASQL',NULL,NULL,'DRIVER={SQL

Server};SERVER=192.168.0.1;UID=sa;PWD=123;'

--建立链接服务器登录映射

exec sp_addlinkedsrvlogin

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

@rmtpassword='123'

go

--查询数据

select * from xiaoming.schooladmin.dbo.agent

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

exec sp_droplinkedsrvlogin 'xiaoming' ,'sa'

exec sp_dropserver 'xiaoming'

注意事项:

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

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

into 也存在这样的问题

select * into xiaoming.northwind.dbo.tt from

xiaoming.northwind.dbo.tt

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

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

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

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

Northwind 数据库驻留在 C:\。

USE master

GO

-- To use named parameters:

EXEC sp_addlinkedserver

@server = 'test',

@provider = 'Microsoft.Jet.OLEDB.4.0',

@srvproduct = 'OLE DB Provider for Jet',

@datasrc = 'C:\Northwind.mdb'

GO

-- OR to use no named parameters:

USE master

GO

EXEC sp_addlinkedserver

'test',

'OLE DB Provider for Jet',

'Microsoft.Jet.OLEDB.4.0',

'C:\Northwind.mdb'

GO

使用

select * from test...表名

六、连接SYBASE

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

--创建链接服务器

exec sp_addlinkedserver 'Sybase1', ' ', 'MSDASQL', NULL, NULL

,'Driver={Sybase System

11};Database=hisdb;Srvr=10.211.135.12;UID=sa;PWD=1111;'

使用:

select * from Sybase1.hisdb.dbo.table1

方法二

使用ODBC

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

本文的测试环境为:

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

安装数据库: SQLSERVER2000(英文版)和SYBASE8.0客户端(英文版)

具体实现步骤:

1.要求pc机上安装SYBASE8.0客户端软件和sqlserver2000软件。

2.配置windows的ODBC数据源:

开始菜单—》程式集—》系统管理工具—》资料数据源(ODBC)—》进入配置用

户DSN或者系统DSN均可以:添加—》选择ADAPTIVE SERVER ANYWHERE8.0—》自定

义数据源名称(随意如: SYBASETEST)—》数据库名称(必选!)—》OK完成。

3. 选择刚才配置的数据源名称, 再选择 配置, 跳出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完成!

4.配置sqlserver2000中的连接服务器:

企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名

称; 选其他数据源; 指定程序名称为:SYBASE ADAPTIVE SERVER ANYWHERE

PROVIDER8.0; 产品名称可不填; 数据源指定刚才ODBC中定义好的数据源名称;

提供程序字符串按以下格式填写:User ID=username;Password=userpasswd(或者

按如下格式:UID=username;PWD=userpasswd),这里的用户名和密码对应所要连

接的SYBASE数据库中的用户名和密码 —》 安全性标签页里:设置用此安全上下

文进行,并录入SYBASE的数据库用户名和密码—》服务器选项标签页可默认—》  确定。

5.准备工作全部完成!在sqlserver企业管理器—》安全性—》连接服务器打开刚

建好的连接服务器—》点击表,即可在右边窗口看到该SYBASE数据库用户拥有的 的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!访问表时,使用格式为: [连接服务器名]..[SYBASE用户].[表名]。更详细具体的使用这里不再赘述。

转载于:https://www.cnblogs.com/yunhuasheng/archive/2008/09/16/1291768.html

SQL Server的链接服务器技术小结相关推荐

  1. ole db提供程序 mysql_服务器_SQLServer的链接服务器技术小结,一、使用 Microsoft OLE DB Provider F - phpStudy...

    SQLServer的链接服务器技术小结 一.使用 Microsoft OLE DB Provider For ODBC 链接MySQL 安装MySQL的ODBC驱动MyODBC 1.为MySQL建立一 ...

  2. SQL Server使用链接服务器的5个性能杀手

     2014-06-25 SQLSERVER走起 SQLSERVER走起 SQLSERVER走起 微信号 SQLSERVERZOUQI 功能介绍 介绍SQL Server的一些相关资讯,让众多SQL ...

  3. Sql Server使用链接服务器远程取数据!

    由于最近开发的一个查询系统,基本是在其它服务器的,所以在本地服务器设计了中间,用来存从远程服务器取数据!     一种方法是通过,OPENDATASOURCE来远程读取数据! SELECT   * F ...

  4. 加菲猫软件显示不能链接服务器,sql server 2012 链接服务器不能链接sql server 2000的解决方案...

    把原来的sql server 2005直接装成了2012,然后在建立链接服务器链接一台sql server 2000的服务器时,报错信息大概是"SQL Server Native Clien ...

  5. SQL SERVER使用链接服务器

    1.在另一台机器上建立独立的数据库服务器,作为链接目标 2.本地数据库服务器上添加"链接服务器": 名字:随便取一个名字 服务器类型:选择数据源:Microsoft OLE DB ...

  6. [sql server][基础] 链接服务器

    /* 环境 : 本地(xp+sql2005): select @@version icrosoft SQL Server 2005 - 9.00.1399.06 (Intel X86)  Oct 14 ...

  7. SQL Server 2005链接服务器设置

    我试验了两种不同的设置均获成功.两种设置的差异是采用了不同的访问接口.以下是两种设置的详细介绍. 打开Microsoft SQL Server Management Studio.选择服务器对象-〉链 ...

  8. SQL Server通过链接服务器访问Oracle

    Windows SQL Server 2016 数据库通过链接服务器访问Oracle数据库. 借鉴了很多大佬的文章,但是由于外链失效.文章久远.安装包版本太低.自己积分清零等多重原因,导致了很多问题, ...

  9. sql修改链接服务器名称,SQL Server 创建链接服务器的脚本,自定义链路服务器的简短名称...

    USE [master] GO /****** Object:  LinkedServer [SQL01]    Script Date: 2020/4/9 11:51:17 ******/ EXEC ...

最新文章

  1. Android Context activity实例使用
  2. eCos Mbox机制
  3. 图例符号居中显示_R可视化08|ggplot2图层-标度图层(scale layer)-图例篇
  4. 递归 图 java,《算法图解》之递归
  5. React中ref的使用方法
  6. react项目中的参数解构_重构复杂的React组件:编写高效且可读组件的5个最佳实践...
  7. python黑色背景_如何去除Matplotlib图中的黑色背景
  8. Magento教程 11:Inline Translation前台改文
  9. 用juniversalchardet解决爬虫乱码问题
  10. javascript/js计算器的基础制作
  11. 《价值投资 从看懂财务报表开始》 读书笔记
  12. python画地球代码_python的pygame模拟太阳-地球-月亮-金星等动态示意图代码分析
  13. 德州农工大学计算机专业研究生,德州农工大学计算机工程(无论文)理学硕士研究生申请要求及申请材料要求清单...
  14. Springboot 前后端交互 Long类型传输 前端获取数据受限
  15. Fluent计算出现“Floating point exception”时的解决办法
  16. 数据分析找不到数据?200个源数据网站全给你!
  17. Ubuntu快捷键——终端
  18. c++(最大公约数)
  19. ORB-SLAM:精确多功能单目SLAM系统
  20. 基于k210的水果分拣

热门文章

  1. C++ 十字链表图转java版
  2. eventfd和timerfd
  3. MySQL第6天:MySQL的架构介绍之逻辑架构
  4. 砥砺前行,不忘初心,我的运维学习之路.
  5. docker分离部署lnmp
  6. Charles抓包https(测试app的双向认证)
  7. UEFI+GPT安装windows
  8. C++纯虚函数 virtual =0
  9. Mopaas 初体验
  10. Guava 2.2-新集合类型