`
lovnet
  • 浏览: 6879123 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

SQL Server链接服务器的使用方法(转)

阅读更多

一、使用 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连接服务器的实现

作者: 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=username;PWD=userpasswd),这里的用户名和密码对应所要连

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

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

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

建好的连接服务器—》点击表,即可在右边窗口看到该SYBASE数据库用户拥有的

的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析

器中用具体sql实现!访问表时,使用格式为: [连接服务器名]..[SYBASE用户

].[表名]。更详细具体的使用这里不再赘述。

分享到:
评论

相关推荐

    SQLSERVER创建连接服务器

    根据连接服务器使用的协议和数据源类型的不同,可以将其分为以下几类: 1. **本地链接服务器**:指向同一台计算机上的其他实例或相同实例的不同数据库。 2. **远程链接服务器**:指向网络中的其他SQL Server实例或...

    sql_server连接Oracle方法(最全)

    "SQL Server 连接 Oracle 方法" SQL Server 连接 Oracle 方法是数据库管理系统中的一个重要话题。本文将详细介绍如何在 SQL Server 中连接 Oracle 数据库,并解决在连接过程中可能出现的问题。 安装 Oracle 客户端...

    SQL SERVER连接oracle数据库几种方法

    SQL SERVER 连接 Oracle 数据库几种方法 在实际开发中,我们经常需要在 SQL Server 中连接 Oracle 数据库,以便实现数据交换和集成。那么,如何在 SQL Server 中连接 Oracle 数据库呢?下面我们将介绍几种常见的...

    SQL Server跨服务器连接的多种方法

    OPENDATASOURCE是一种允许SQL Server连接到另一个SQL Server实例的技术。这种方式特别适用于需要在不同服务器间执行简单的查询任务。 ##### 2.1 基本语法 OPENDATASOURCE 的基本语法如下: ```sql SELECT * FROM ...

    sqlserver连接字符串大全

    本文将基于“SQL Server连接字符串大全”的主题,详细介绍不同版本的SQL Server(如2000、2005等)及其不同环境下的连接字符串配置方法。 #### 一、SQL Server 2000连接字符串 对于SQL Server 2000版本,连接字符串...

    SQL Server 清空连接过的服务器名称历史记录

    本文将详细介绍如何在SQL Server的不同版本中(包括SQL Server 2000、2005、2008)清除已连接服务器的历史记录。 #### 一、SQL Server 2008 对于SQL Server 2008,清空连接过的服务器名称历史记录的操作非常简单,...

    远程连接SQL SERVER 2000服务器方法

    解决方法是,在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQLServer。 远程连接 SQL Server 2000 服务器需要满足一定的条件和步骤,包括检查远程服务器的物理连接、telnet 测试、检查客户端...

    LABVIEW与SQL SERVER的连接方法详细说明

    下面就介绍LABVIEW与SQLSERVER的连接方法。连接思路:先在SQLSERVER建立自己的数据库,如MyDB。然后在操作系统建立一数据源(ODBC),此数据源的驱动选择SQLSERVER,数据源与SQLSERVER中的MyDB关联。最后在LABVIEW中...

    SQL Server 2012链接服务器到PostgreSQL

    在SQL Server 2012中,连接到外部数据源如PostgreSQL数据库是通过设置链接服务器来实现的。链接服务器允许SQL Server查询和操作非本地的数据,提供了与异构数据库系统交互的能力。以下是一个详细步骤,说明如何在SQL...

    sqlserver连接oracle

    SQL Server 作为链接服务器连接 Oracle 数据库,需要配置 Windows 的 ODBC 数据源和 SQL Server 2000 中的连接服务器。下面将详细介绍配置过程和连接方法。 配置 Windows 的 ODBC 数据源 在 Windows 操作系统中,...

    SQL Server 连接MySQL 数据库.docx

    SQL Server 连接 MySQL 数据库是指通过 SQL Server 连接服务器连接到 MySQL 数据库的过程。下面将对这个过程中的关键步骤和知识点进行详细的解释。 安装环境 在开始连接 MySQL 数据库之前,需要安装相关的环境。...

    SQLServer创建连接服务器

    ### SQL Server 创建连接服务器 在SQL Server环境中,创建连接服务器是一项重要的配置步骤,它允许不同数据库实例或异构数据源之间进行数据交换。通过连接服务器,可以实现跨服务器查询、远程过程调用等功能,这...

    SqlServer服务器连接教程

    本教程主要关注如何使用C#编程语言连接到SQL Server服务器,这对于开发者来说是一项基本技能。 首先,理解C#连接SQL Server的基本原理。C#通过ADO.NET(.NET Framework的数据访问组件)来与SQL Server交互。ADO.NET...

    sql server客户端连接工具

    SQL Server客户端连接工具是数据库管理员和开发人员用来与Microsoft SQL Server进行交互的重要工具。它提供了图形用户界面(GUI)和命令行选项,使得用户能够轻松地执行查询、管理数据库对象以及进行其他数据库维护...

    Sql Server2012 使用IP地址登录服务器的配置图文教程

    最近在使用NFineBase框架+c#做一个系统的时候,在使用sql server 2012 连接数据库的时候 ,遇到几个问题。 一. 就是在本地或者远程连接别人的数据库的时候,以ip地址作为服务器名称 以SQL Server 身份验证(即输入...

    sql server 通过链接服务器连接mysql

    本教程将深入讲解如何通过SQL Server的链接服务器功能连接到MySQL数据库,并提供驱动安装与示例查询。 一、SQL Server链接服务器基础 链接服务器是SQL Server中的一个对象,它定义了到另一个数据源(如MySQL)的...

    sql server连接数据库 ado连接sql server

    #### 二、ADO与SQL Server连接原理 ##### 1. ADO简介 ADO是一种轻量级的数据访问接口,它允许开发者通过简单的API调用来操作各种类型的数据库。ADO支持多种数据库驱动程序,包括ODBC、OLE DB等,这些驱动程序提供了...

    SQLServer连接ACCESS数据库的实现

    ### SQLServer连接ACCESS数据库的实现:深度解析与实践指南 #### 异构数据库连接概览 在企业级应用中,数据库通常不会局限于单一类型或品牌,而是存在多种数据库平台共存的情况,这被称为异构数据库环境。为了实现...

Global site tag (gtag.js) - Google Analytics