Linux安装ODBC连接SQLServer数据库
操作系统: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的时候就不要带上数据库名称了,否则会报错。
2.8、shell脚本连接数据库
SQL="/usr/local/unixODBC/bin/isql mssql sa 123"
i_sql=" exec dbo.bulkinsert 10,20,'dbo.stu'; "
echo $i_sql
result=`echo $i_sql|$SQL`
方法二:
SQL="select * from Student"
EMPLOYEES=`isql mssql sa 123 <<EOF
$SQL
go
EOF
方法三:
echo "$SQL" > $TMP/sql.$$
EMPLOYEES=`isql mssql sa 123 -i $TMP/sql.$$`
rm $TMP/sql.$$
2.9、安装了SQLServer的机器上调用命令执行存储过程
osql.exe -S ip -U sa -P 123 -d WAI -Q "exec dbo.bulkinsert %start%,%end%,stu
Linux安装ODBC连接SQLServer数据库的更多相关文章
- Linux C语言连接 sqlserver数据库
记录一下Linux下使用C语言连接sqlserver的方法. 连接前需要安装freetds. 参考: http://www.cnblogs.com/helloworldtoyou/p/6910075. ...
- Linux下通过ODBC连接sqlserver
Linux下通过ODBC连接sqlserver 1.需求: 最近有个需求就是要在linux下连接(可以执行sql语句)sqlserver 2.环境 操作系统: Centos6.5 数据库: ...
- 字符串格式连接sqlserver数据库的字段概念解释
以连接sqlserver数据库举例说明如:“Provider=SQLOLEDB.1;Password=******;Persist Security Info=True;User ID=sa;Init ...
- 使用thinkphp连接sqlserver数据库时提示“系统不支持:sqlsrv”
习惯了使用php跟mysql组合,现在接到项目需要调用客户线下的系统软件的数据,具了解,这个软件的数据库是用sqlserver数据库也就是常说的mssql数据库了. 那么我现在需要用PHP连接sqls ...
- asp.net 连接sqlserver数据库
在asp.net中连接sqlserver数据库之前,首先得确保正常安装了sqlserver2008,同时有数据库. 在项目中添加一个类DB,用来专门负责执行对数据库的增删改查.在添加的过程中会弹出下面 ...
- Jmeter连接SqlServer数据库进行压力测试
Jmeter连接SqlServer数据库进行压力测试 前提准备:先安装jdbc驱动 驱动下载链接地址:http://pan.baidu.com/s/1bpDpjSr 密码:v6tn 下载解压之后,讲s ...
- 解决ODBC连接Oracle数据库报Unable to connect SQLState=08004问题
今天用ODBC连接Oracle数据库时,报了这么一个错“Unable to connect SQLState=08004 Oracle ODBC Ora-12154”,上网查了好久都说PowerDes ...
- python连接sqlserver数据库
1.准备工作 python3.6连接sqlserver数据库需要引入pymssql模块 pymssql官方:https://pypi.org/project/pymssql/ 没有安装的话需要: pi ...
- php支持连接sqlserver数据库
php支持连接sqlserver数据库 1.软件配置 Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10. ...
- python学习--python 连接SQLServer数据库(两种方法)
1. python 学习.安装教程参照: http://www.runoob.com/python/python-tutorial.html 2. 集成开发环境 JetBrains PyCharm C ...
随机推荐
- windows下运行.sh文件
1.安装git,配置git环境(D:\Tools\Git\cmd) .cmd命令检查是否安装成功(git --version). 2.打开Git Bash窗口,命令运行.sh文件. 3.运行.sh文件 ...
- NVIDIA的GPU算力Compute Capalibity
可查看官方查询地址:https://developer.nvidia.com/cuda-gpus
- 谷歌Chrome浏览器网页中看视频出现绿屏、闪烁和花屏等显示问题解决方法
方法一(推荐): 1.在chrome地址栏输入chrome://flags/2.搜索Hardware-accelerated video encode把Enabled改成Disabled 3.搜索Ha ...
- Uri转绝对路径工具类
/** * 反射从 provider uri中获取 文件绝对路径 * @param context * @param uri * @return */ private static String ge ...
- openssl的自签名证书不被信任问题
1.不同的浏览器安全策略不同 1.1谷歌系的会提示没有绑定域名. 此服务器无法证实它就是 192.168.0.127 - 它的安全证书没有指定主题备用名称(Subject Alternative Na ...
- Flink Application Development DataStream API Execution Mode (Batch/Streaming)- Flink应用程序开发DataStream API执行模式(批/流)
目录 什么时候可以/应该使用BATCH执行模式? 配置BATCH执行模式 执行行为 任务调度和网络随机shuffle 流执行模式 批处理执行模式 状态后端/状态 处理顺序 Event Time/水印( ...
- 记一个好用的轮播图的FlexSlider
之前给自己公司的主页套用过一个js动态生成的轮播图,但是从载入的时机和载入后的效果都不太理想,又懒得去优化了,这次偶然遇到一个比较不错的轮播图的js插件,记录之. 首先它是给予jquery的,引进jq ...
- css - 预编译less下,解决深度选择器失效问题,完成css样式修改
#若深度选择器有效.使用此可修改样式 /deep/ .cube-btn{ //...自定义css样式 } #深度选择器失效,则: 1.重新定义deep深度选择器 @deep:~'>>> ...
- Visual Studio常用的宏
$(SolutionDir) 表示获取解决方案文件.sln所在文件夹 $(ProjectDir 获取项目工程文件.vcxproj所在文件夹 $(Configuration) 获取编译后的Debug / ...
- sed: -e 表达式 #1, 字符 1: 未知的命令:“'”
https://blog.csdn.net/linmingan/article/details/80007727 加双引号!! 利用sed更改文件test.txt的第一行为abc: sed -i '1 ...