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

2016-01-29 16:25 4 1 收藏

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

【 tulaoshi.com - 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 别名..用户名.表(视图)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

--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="http://img.jcwcn.com/attachment/portal"

来源:http://www.tulaoshi.com/n/20160129/1498571.html

延伸阅读
标签: SQLServer
前言 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Microsoft SQL Server为基础建立起来的大型数据库应用程序,系统界面友好、操作简便,计算、分析、检索功能非常强大,为保证农业银行系统及时进行纵向和横向业务数据采集、按照不同要求生成统计报表,进行全...
引用Microsoft SQLDMO Object Library Private Sub Nsqlser_DropDown() If Nsqlser.ListCount > 0 Then Exit Sub Dim Server As SQLDMO.NameList '名字列表namelist Dim appDMO As New SQLDMO.Application 'sqldmo应用 Dim i As Integer Set Server = appDMO.ListAvailableSQLServers '得到所有的sql sever 列表 For i = 1 To Server.Count N...
标签: SQLServer
有一个古老的争论,是关于在哪里存储应用程序业务逻辑的:是在应用程序本身的业务逻辑层中还是在数据库层中。应用程序逻辑层的绝对支持者提出,数据库的唯一目的就是保存数据,以备应用程序所用。提倡用数据库来存储业务规则的人则坚持认为,业务规则最好存储在数据库中,因为数据也存储在那里,规则在那里更容易运行。而在我看来,对于存储应...
标签: Web开发
[ 2006/04/09 21:46 | by andyli ]  收集,好东西 /********************** * * author : Emerald * * homepage : http://gi.2288.org:88/ * * sitename : 绿色学院 - Green Institute * * date  : 2005-2-11&nb...
标签: Web开发
服务器控件代码: asp:TextBox runat="server"/asp:TextBox 1. $("#%=txtUserID.ClientID%").val(); 2. $("input[id*=txtUserID]").val(); 3. $("*[id$=txtUserID]").val();

经验教程

599

收藏

36
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部