记一次SqlServer通过ODBC连接瀚高数据库并同步数据实战

本文转自微信公众号“瀚高数据库售前团队”文章
https://mp.weixin.qq.com/s/-wZx7Mni6D_n29LlrxlhYg
声明:

本文章内容仅用于学习、交流,未经本团队允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的,利用此文所提供的信息而造成的任何直接或间接的损失,均由使用者本人负责。

本次分享在Win环境下SqlServer通过odbc连接瀚高数据库V456版本并手动同步数据的实战操作。

1. ODBC安装

Win下面安装32和64位的HGDB的ODBC;

在这里插入图片描述

2. 创建ODBC数据源

系统DSN中新建数据源 PostgreSQL456;

图片
在这里插入图片描述
在这里插入图片描述
测试连接;

在这里插入图片描述
点击Save进行保存;
在这里插入图片描述

3. SqlServer连接HGDB

打开Microsoft SQL Server Management Studio;

图片

连上到SqlServer;

**图片**

点击服务器对象–链接服务器–右键新建链接服务器;

图片

在这里插入图片描述

访问接口-> Microsoft OLE DB Provider for ODBC Drivers;

数据源 -> 为ODBC链接对象DataSource 名称;

图片

点击安全性,选择使用此安全上下文建立链接,输入HGDB的登陆账号、密码,点击链接成功。

图片

点击确定;

图片

右键测试连接;

图片

图片

注:ODBC数据源必须在系统DSN中创建,如果在用户DSN中,会报错:无法初始化链接服务器“HGDB456”的 OLE DB 访问接口“MSDASQL”的数据源对象。(.Net SqlClient Data Provider)

展开链接服务器,可以看到HGDB的表;

图片

4. 查询测试

SqlServer查询:

select * from openquery(HGDB456,'select * from student;')

图片

HGDB查询:

select * from student;

图片

5. 在SqlServer中对HGDB操作

操作前:

HGDB查询:

select * from test1 order by id ;

图片

在SqlServer中执行:

INSERT INTO [HGDB456].[testdb].[public].[test1] values (123,'AA');

图片

操作后:

HGDB查询:

select * from test1 order by id ;

图片

  1. 将SqlServer数据同步到HGDB

同步前:

HGDB查询;

select * from test1 order by id ;

图片

SqlServer查询:

select * from test1;

图片

在SqlServer中执行:

INSERT INTO [HGDB456].[testdb].[public].[test1] select * from test1;

图片

同步后:

HGDB查询:

select * from test1 order by id ;

图片

7. 将SqlServer数据同步到HGDB-有则新增无则更新

同步前:

HGDB查询:

select * from test1;

图片

SqlServer查询:

select * from test1;

图片

在SqlServer中执行:

if exists(select * from [HGDB456].[testdb].[public].[test1]  where id = 1)
update [HGDB456].[testdb].[public].[test1] set fname ='AAA+++' where id = 1;
else
INSERT INTO [HGDB456].[testdb].[public].[test1] select * from test where id = 1;

图片

同步后:

HGDB查询:

select * from test1;

图片

在SqlServer中再次执行后,HGDB查询:

select * from test1;

图片

至此,手动同步数据完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值