alwaysblog

最近做项目,需要对两个数据库进行同步操作,所以采用在Server SQL中建立链接服务器方式实现。

链接服务器,可以直接访问/操作其他服务器上的数据库表。

1、连接SQL Server链接服务器

EXEC sp_addlinkedserver
@server=\'Other\',--被访问的服务器别名
@srvproduct=\'\',
@provider=\'SQLOLEDB\', ----固定值
@datasrc=\'192.168.4.69\' --要访问的服务器
EXEC sp_addlinkedsrvlogin
\'Other\', --被访问的服务器别名(与上面的@server一样)
\'false\',NULL,\'sa\', --帐号
\'123456\' --密码

 这样就可以直接访问 192.168.4.69服务器上的数据库(sa有权限的数据库)

 例如:  SELECT * FROM   Other.Test.dbo.User;

          (SELECT * FROM  服务器别名.数据库.dbo.表名)

2、链接mysql数据库

  • 安装mysqlconnector/ODBC

1)注意mysql版本(非操作系统版本)为32bit或64bit,选择相应安装包,版本问题可能造成错误。

2)若出现以下错误,请安装相对应版本的Microsoft Visual C++ 2010 Redistributable Package。

      

 

  • 建立odbc数据源

步骤:1)若本地操作系统和mysql均为32bit或64bit,操作如下:

控制面板—>管理工具—>数据源ODBC—>系统DSN

      

若操作系统为64bit,mysql为32位,操作如下:

若在控制面板—>管理工具—>数据源ODBC—>系统DSN—> 【添加】中找不到MYSQLDriver,则在C:\Windows\SysWOW64 路径下找到odbcad32.exe文件,双击,选择系统DSN。

       

      2)添加数据源

       

      

配置项说明:

Data Source Name:数据源名称(建立链接数据库需要该参数)

Description:简述

TCP/IP Server 远程数据库IP

User:远程数据库用户名

Password:远程数据库用户密码

DataBase: 数据库名

  • 建立链接服务器:

EXEC sp_addlinkedserver

@server=\'JIRA\',--被访问的服务器别名

@srvproduct=\'MySQL\',

@provider=\'MSDASQL\', --链接MYSQL参数(固定值)

@datasrc=\'JIRA\' --要访问的数据源名称(与配置的ODBC数据源名称一致)

EXEC sp_addlinkedsrvlogin

\'JIRA\', --被访问的服务器别名(同上)

\'false\',

\'MES\', --本地数据库用户名

\'root\', --远程数据库帐号

\'123456\' --远程数据库密码

  • 验证数据库是否链接成功

select * from openquery(JIRA,\'SELECT * FROM project;\')

若出现“mysql ODBC 驱动程序和应用程序之间的体系结构不匹配”的错误提示,则为ODBC驱动版本与MYSQL版本不一致

3、链接Oracle数据库

分类:

技术点:

相关文章: