最近做项目,需要对两个数据库进行同步操作,所以采用在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链接服务器查询-OPENQUERY的使用

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

  2. 建立SQL链接服务器

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 什么是IIFE

    立即执行函数表达式(Immediately-invoked function expression) IIFE 我们知道,在javascript(ES5)中,是没有块级作用域的概念的.看一个例子 fo ...

  2. Java输入输出常用类Scanner

    Scaner类,使用获取键盘输入. public boolean DemoTest(){ Scanner input = new Scanner(System.in); System.out.prin ...

  3. iOS之数据解析时<null>的处理

    在iOS开发过程中经常需要与服务器进行数据通讯,JSON就是一种常用的高效简洁的数据格式. 问题: 在项目中,一直遇到一个坑的问题,程序在获取某些数据之后莫名崩溃.原因是:由于服务器的数据库中有些字段 ...

  4. [swift]NSURLSession

    一.简单说明 在iOS9.0之后,以前使用的NSURLConnection过期,苹果推荐使用NSURLSession来替换NSURLConnection完成网路请求相关操作. NSURLSession ...

  5. Android 手机卫士--导航界面3、4和功能列表界面跳转逻辑处理

    刚刚花了一点时间,将导航界面3.4的布局和相应的跳转逻辑写了一下: Setup3Activity代码如下: /** * Created by wuyudong on 2016/10/10. */ pu ...

  6. 16-static和extern关键字2-对变量的作用

    上一讲介绍了static和extern对函数的作用,static用来定义一个内部函数,不允许其他文件访问:extern用来定义和声明一个外部函数,允许其他文件访问.static和extern对变量也有 ...

  7. Redis五种基本数据结构

    1.字符串 示例: 2.列表 示例: 3.集合 示例: 4.散列 示例: 5.有序集合 待续...

  8. MySQL 博客文章目录(2016-08-20更新)

    1 MySQL安装配置 Linux MySQL源码安装缺少ncurses-devel包 Linux平台卸载MySQL总结 Linux 卸载mysql-libs包出现错误 2  MySQL管理配置 My ...

  9. 0034 Java学习笔记-反射-初步2-操作对象

    通过反射创建对象 通过反射创建对象有两种方式,一种通过Class对象的newInstance()方法,一种是获取到Class对象的Constructor后,再调用newInstance()方法,前者要 ...

  10. Windows 10不能拨L2TP协议的VPN

    之前是Windows 10版本1607版本14393.102升级14393.187过后,突然出现不能拨公司防火墙的L2TPVPN了. 网上众说纷纭,原来遇到这个问题的人真不少,不过我是第一次遇到.结合 ...