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

本文详细介绍了如何使用SQLServer的链接服务器技术来连接多种数据源,包括MySQL、Oracle、文本文件、SQL Server及Access,通过ODBC和特定的OLE DB Provider进行数据交互和查询操作。此外,还提到了连接SYBASE的方法。
摘要由CSDN通过智能技术生成

SQLServer的链接服务器技术小结

一、使用 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:datadistqry',

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='S1instance1'

例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连接服务器的实现

作者: CCBZZP

本文的测试环境为:

操作系统: 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=

本文作者:相关阅读:

div+css table布局实现代码

ASP获取字符串长度的自定义函数

在Windows Server 2008 X64中通过.NET程序调用32位com组件

dedecms 5.1 游客匿名投稿实现方法

利用CSS3的定位页面元素

批处理写的 oracle 数据库备份还原工具

系统分配随机密码

asp汉字中文图片验证码

XHTML2死掉,XHTML1.x语法在HTML5中可以使用

论WEB标准在中国的灰飞烟灭

5.7 实现高级JavaScript技术(三)

WIN2003 服务器安全配置批处理文件

JS多级连动菜单

什么是XHTML?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值