最近做项目,需要对两个数据库进行同步操作,所以采用在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', --帐号
'' --密码

这样就可以直接访问 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数据库

【SQL】链接服务器的更多相关文章

  1. SQL链接服务器

    最近做项目,需要对两个数据库进行同步操作,所以采用在Server SQL中建立链接服务器方式实现. 链接服务器,可以直接访问/操作其他服务器上的数据库表. 1.连接SQL Server链接服务器 EX ...

  2. SQL链接服务器查询-OPENQUERY的使用

    OpenQuery: 用途:与其他Server交互的技术,通过它能够直接访问其他数据库资源.可以跨平台连接,包括Oracle   --创建链接服务器 exec sp_addlinkedserver ' ...

  3. 建立SQL链接服务器

    访问链接服务器的格式:select * from [IPMLBZ].[数据库].[dbo].WEB_ItemInfo 有一个最简单的方法就是直接鼠标新建,这样是以ip为开头的,也可以通过下面的代码进行 ...

  4. 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。[手稿]

    消息 7302,级别 16,状态 1,第 1 行 无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.JET.OLEDB.4.0&qu ...

  5. Sqlserver通过链接服务器访问Oracle

    工作中遇到的情况,win 7 64位操作系统的就安装64位的oracle 客户端,然后重启sql service服务后再创建sql 链接服务器.关于如何创建链接服务器请查看下面的大神的链接: http ...

  6. SQL跨服务器查询数据库

    有时候一个项目需要用到两个数据库或多个数据库而且这些数据库在不同的服务器上时,就需要通过跨服务器查找数据 在A服务器的数据库a查询服务器B的数据库b 的bb表 假如服务器B的IP地址为:10.0.22 ...

  7. SQL Server 链接服务器的安全

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 安全设置(Security Settings) 实现效果:用户A能看见能使用,B用户不能看见这 ...

  8. SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值

    我们知道SQL SERVER建立链接服务器(Linked Server)可以选择的驱动程序非常多,最近发现使用ODBC 的 Microsoft OLE DB 驱动程序建立的链接服务器(Linked S ...

  9. SQL SERVER 2000通过链接服务器发送邮件出现错误

    案例环境: 服务器A系统: Windows Server 2000 数据库版本 : Microsoft SQL Server  2000 - 8.00.2282 (Intel X86) 服务器B系统: ...

  10. [翻译]——SQL Server使用链接服务器的5个性能杀手

    前言: 本文是对博客http://www.dbnewsfeed.com/2012/09/08/5-performance-killers-when-working-with-linked-server ...

随机推荐

  1. Activator.CreateInstance with parameters

    https://docs.microsoft.com/en-us/dotnet/api/system.activator.createinstance?view=netframework-4.8#Sy ...

  2. 记录一些比较长的adb命令,复制用

    adb shell content query --uri content://settings/secure --projection value --where "name=\'andr ...

  3. CentOS 7下升级python版本到3.X

    由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # p ...

  4. Flask Session ,pymysql ,wtforms组件 虚拟virtualenv venv

    https://www.cnblogs.com/wupeiqi/articles/5713330.html session def create_app(): print() app=Flask(__ ...

  5. Linux中zip压缩和解压缩命令

    主要参数 -c:将解压缩的结果-l:显示压缩文件内所包含的文件-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换-t:检查压缩文件是否正确-u:与-f参数类似,但是除了更新现有的 ...

  6. mysql数据库的水平分表与垂直分表实例讲解

    mysql语句的优化有局限性,mysql语句的优化都是围绕着索引去优化的,那么如果mysql中的索引也解决不了海量数据查询慢的状况,那么有了水平分表与垂直分表的出现(我就是记录一下自己的理解) 水平分 ...

  7. linux随笔-05

    shell脚本&定时任务 编写Shell脚本 可以将Shell终端解释器当作人与计算机硬件之间的“翻译官”. Shell脚本命令的工作方式有两种:交互式和批处理. 交互式(Interactiv ...

  8. mysql---级联更新和删除操作

    我们通常有这样的需求:删除表Table 1中记录,需要同时删除其它表中与Table 1有关的若干记录. 对于这种,我们有两种解决方法: 一,使用innodb表的外键约束 ALTER TABLE `sc ...

  9. JS中的call()和apply()方法(转)

    转自:http://uule.iteye.com/blog/1158829 JS中的call()和apply()方法 博客分类: JS   1.方法定义 call方法: 语法:call([thisOb ...

  10. Quartz -----定时任务框架

    一.什么是Quartz     由java开发用来执行定时任务,类似于java.util.Timer.   但是相较于Timer,quartz增加了很多功能:                  持久性 ...