注册
Dm到sqlserver的dblink
培训园地/ 文章详情 /

Dm到sqlserver的dblink

吉吉 2025/06/03 34 0 0

创建dm-sqlserver的dblink

1、检查预装的odbc和freetds,并卸载

如果是操作系统为麒麟,可能预装了freetds和unixODBC,但预装的工具缺少部分动态库文件,会导致dblink使用报错,需要实现卸载预装的freetds和unixODBC,再进行dblink相关配置

检查已安装的rpm包
rpm -qa|grep odbc
rpm -qa|grep freetds
卸载rpm包
rpm -e rpm包名 --nodeps

2、源码编译安装unixODBC

arm架构cpu:
./configure --host=arm-linux --prefix=/usr/local/unixODBC --build=arm-linux
make && make install
x86架构cpu:
./configure --prefix=/usr/local/unixODBC
make && make install

安装完成后,修改root和dmdba用户的环境变量PATH,增加/usr/local/unixODBC/bin,并root执行chmod -R a+r /usr/local/unixODBC、chmod -R a+x /usr/local/unixODBC

3、源码编译安装freetds

如果odbc是源码安装的,则freetds必须要带--with-unixodbc,不然会缺少odbc驱动

./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC
make && make install

安装完成后,修改root和dmdba用户的环境变量PATH,增加/usr/local/freetds/bin,并root执行chmod -R a+r /usr/local/freetds、chmod -R a+x /usr/local/freetd

4、配置freetds

vi /usr/local/freetds/etc/freetds.conf
[mssqlserver]
host = sqlserver的ip
port = sqlserver的端口
tds version = 8.0
client charset = GBK

测试连接:
tsql -S sqlserverip -U sqlserver用户名

5、3.2.5配置odbc

vi /usr/local/unixODBC/etc/odbcinst.ini
[FreeTDS]
description=ODBC of FreeTDS for MS SQL 2012
driver=/usr/local/freetds/lib/libtdsodbc.so

vi /usr/local/unixODBC/etc/odbc.ini
[mssql]
driver = /usr/local/freetds/lib/libtdsodbc.so
servername = freetds.conf中中括号里的名字
port = sqlserver端口
user = sqlserver用户名
password = sqlserver密码
database = 默认要连接的sqlserver数据库

测试连接
isql -v odbc.ini中中括号里的名字 sqlserver用户名 sqlserver密码

6、3.2.6通过odbc创建dblink并使用

SQL> create link dm_sqlserver connect 'ODBC' with "sqlserver用户名" identified by "sqlserver密码" using 'odbc名';
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服