首页 > 数据库 >Linux安装ODBC连接SQLServer数据库

Linux安装ODBC连接SQLServer数据库

时间:2022-11-15 11:14:05浏览次数:47  
标签:SQLServer unixODBC ODBC usr Linux freetds local 数据库

操作系统:Centos7.2

1、下载ODBC安装包

unixODBC-2.3.9.tar.gz

freetds-1.3.9.tar.gz

下载这两个压缩包的地址:
ftp://ftp.freetds.org/pub/freetds/stable/
ftp://ftp.unixodbc.org/pub/unixODBC/

2、安装步骤

第一步:上传两个安装包到服务器上
第二步:安装unixODBC,先安装这个,后安装freetds

注意:这里如果安装顺序不一致,就不会产生libtdsodbc.so驱动文件(非常重要)

2.1、操作系统先安装gcc:

yum install gcc 

2.2、安装odbc

tar -xvf unixODBC-2.3.9.tar.gz
cd unixODBC-2.3.9
./configure --prefix=/usr/local/unixODBC
make
make install

2.3、安装freetds

tar -xvf freetds-1.3.9.tar.gz
cd freetds-1.3.9
./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC/
make
make install

2.4、配置freetds驱动

配置文件目录:/usr/local/freetds/etc/freetds.conf,在文件末尾加上如下内容,tds version参照默认配置,默认是7.3,只要修改host和port为正常的SQLServer地址即可

[SQLServer]
    host = serverip
    port = 1433
    tds version = 7.3

2.5、测试配置是否正确

/usr/local/freetds/bin/tsql -S SQLServer -U username来连接SQLServer(其中-S指定了已经配置好的 TDS服务名称,-U指定登录数据库的用户名),连接成功则证明驱动配置正确。如果连接出现错误,很可能是因为tds version设置的不正确,你可以尝试修改该值重新连接

/usr/local/freetds/bin/tsql -S SQLServer -U sa
Password: 
locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> 

2.6、配置unixODBC

为unixodbc指明数据库驱动程序所在位置及连接数据库所需要的认证信息。按照实际情况修改下列配置信息中的具体值,在/usr/local/unixODBC/etc/odbcinst.ini中配置驱动程序

[FreeTDS]                                         #驱动名称
Description=FreeTDS Driver
Driver=/usr/local/freetds/lib/libtdsodbc.so     #驱动位置

/usr/local/unixODBC/etc/odbc.ini中配置

[mssql]  #DSN名称
Description=sqlserver connection
Driver=FreeTDS    #上面配置好的驱动名称
TDS_Version=7.3   #TDS驱动版本
TRACE=On    #是否输出日志信息
TraceFile=stderr  #日志信息的位置
Server=serverip  #数据库网络地址
Port=1433       #数据库端口
User=name       #登录用户名
Password=pwd     #密码
Database=db name  #连接的数据库名称

2.7、测试是否能连接数据库

/usr/local/unixODBC/bin/isql mssql name pwd
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select * from sys.objects
+---------------------------------------------------------------------------------------------------------------------------------+------------+-------------+------------+-----------------+-----+-------------------------------------------------------------+------------------------+------------------------+--------------+-------------+--------------------+
| name                                                                                                                            | object_id  | principal_id| schema_id  | parent_object_id| type| type_desc                                                   | create_date            | modify_date            | is_ms_shipped| is_published| is_schema_published|

注意:由于在配置文件中咱们已经配置好连接数据库名称了,查询SQL的时候就不要带上数据库名称了,否则会报错。

 

标签:SQLServer,unixODBC,ODBC,usr,Linux,freetds,local,数据库
From: https://www.cnblogs.com/tech-test/p/16891714.html

相关文章

  • Linux基础11 重定向(输入重定向,输出重定向); 管道技术, tee, xargs
    1.重定向 将原本要输出到屏幕上的内容,重新指向一个文件或者设备中,屏幕上不会输出原本的内容。为什么要使用重定向: 1.当屏幕输出的信息很重要,而且希望保存重要的信息时。 ......
  • Linux FHS结构
    linux的文件系统分层结构FileSystemHierarchyStanddard(简称FHS)1、文件系统的目录结构:文件和目录被一个组织成一个单根倒置树结构文件系统从根目录下开始,用“/”表......
  • Qt音视频开发02-海康sdk解码(支持句柄/回调/gpu模式/支持win/linux)
    一、前言为何还要选用使用海康sdk,之前不是ffmpeg已经牛皮吹上天了吗?这个问题问得好,那是因为无论ffmpeg也好还是vlc/mpv之类的,都是实现的播放相关,不同的监控硬件厂家对应设......
  • Windows编写Shell脚本在Linux上运行报错的问题记录
    问题:bin/sh^M:badinterpreter:Nosuchfileordirectory原因:.sh脚本在windows系统下用记事本文件编写的。不同系统的编码格式引起的。解决方法:修改.sh文件格式(1)使用......
  • Linux redis设置开机自启动
    redis安装启动这些就不说了,默认都已经好了的,接下来直接设置开机自启动。1、修改redis.conf文件 daemonize:Redis默认不是以守护进程(daemonize)的方式运行,可以通过该配置......
  • linux input子系统的event编号修改
    linuxinput子系统的event编号修改在对接甲方的时候,一些input外设需要固定的input、event编号。而不同厂家不同型号的驱动在内核中加载的顺序不同,因此/dev/input下的event......
  • Linux——虚拟机如何连接XShell
    目录一、检查虚拟机设置的网络连接是否为NAT模式二、虚拟网络编辑器中查看IP地址三、设置虚拟机的IP地址,子网掩码,网关,DNS四、XSell中连接虚拟机五、总结一、检查虚拟......
  • linux FHS结构
    FHS:Linux的文件系统分层结构:FHSFilesystemHierarchyStandard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采......
  • Linux笔记:查看和修改系统时间
    1.查看系统当前时间命令:date[root@zjy~]#dateSunNov1320:14:44CST20222.修改系统时间修改时间:date-s"21:12:00"修改日期:date-s"2022-11-12"#需......
  • 第四章 linux字符设备驱动一
    前言字符设备是Linux驱动中三大设备之一,字符(char)设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现open......