windows使用Tiny_tds连接SQLEXPRESS 数据库
2015-11-25 18:24
489 查看
使用tiny_tds连接SQLSERVER 数据库步骤配置非常简单:
1. 安装tiny_tds
注意 tiny_tds 和ruby 版本的对应问题,某些人也许遇到类似问题。目前最新的tiny_tds在readme中提到已经remove掉了对1.9.3的支持,详情不了解。
2. 连接数据库
port: 默认是1433,但是可能自己的sqlserver跟这个port不同!
host: 域名或者是IP地址
dataserver: 如果不提供该项,则默认是 host:port
encoding: 默认utf-8,建议保留默认。
3.使用client执行操作,具体参见tiny_tds github
Trouble Shooting:
1.连接时提示 `connect': Unable to connect: Adaptive Server is unavailable or does not exist
Solution:
1) 确保自己使用的是正确的port号,默认的1433可能并不对。关于如何找到自己的port号,参考Identify SQL Server TCP IP port being used,
找到IPALL TCP Dynamic Ports的value填入。或者修改成1433 并重启服务器
2)确保防火墙允许
2.在Linux上使用tsql 命令显示OS error 111,"拒绝连接"
执行: tsql -S 192.168.0.1 -U sa
详细错误提示如下:
Password:
locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20009 (severity 9):
Unable to connect: Adaptive Server is unavailable or does not exist
OS error 111, "拒绝连接"
There was a problem connecting to the server
解决:
需要在/etc/freetds/freetds.conf中添加配置项:
[MY_DB]
host = 192.168.0.1
port = 52104 #my port is this value.
tds version = 7.0
instance = SQLEXPRESS
#注意 此处 port和instance作用,MSSQL Server不仅仅可以通过port来识别一个instance,也允许通过named instance ,详情参考网址Sqsh / FreeTDS with
SQL2012 using the instance argument 。instance填写xx\SQLEXPRESS 中的 \ 后面的字串。但在我本机的实验中,port 和 instance的作用并不是互斥的(mutually exclusive),两者同时存在且值都是正确的时候,可以连接成功。 猜测可能是作者的失误?(port number maybe is wrong)如果有人实验结果跟我不同,希望可以交流下
1. 安装tiny_tds
gem install tiny_tds -v 0.x.x
注意 tiny_tds 和ruby 版本的对应问题,某些人也许遇到类似问题。目前最新的tiny_tds在readme中提到已经remove掉了对1.9.3的支持,详情不了解。
2. 连接数据库
client = TinyTds::Client.new(:username => 'sa', :password => 'password',:port =>"0" ,:host => '127.0.0.1', :database => 'testdb')注意此处 port 和host的填写。 对于Client的初始化来说,Opt 一共包含了多个配置项,除了常用的username, password, database,以下几个域会特别提一下:
port: 默认是1433,但是可能自己的sqlserver跟这个port不同!
host: 域名或者是IP地址
dataserver: 如果不提供该项,则默认是 host:port
encoding: 默认utf-8,建议保留默认。
3.使用client执行操作,具体参见tiny_tds github
Trouble Shooting:
1.连接时提示 `connect': Unable to connect: Adaptive Server is unavailable or does not exist
Solution:
1) 确保自己使用的是正确的port号,默认的1433可能并不对。关于如何找到自己的port号,参考Identify SQL Server TCP IP port being used,
找到IPALL TCP Dynamic Ports的value填入。或者修改成1433 并重启服务器
2)确保防火墙允许
2.在Linux上使用tsql 命令显示OS error 111,"拒绝连接"
执行: tsql -S 192.168.0.1 -U sa
详细错误提示如下:
Password:
locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20009 (severity 9):
Unable to connect: Adaptive Server is unavailable or does not exist
OS error 111, "拒绝连接"
There was a problem connecting to the server
解决:
需要在/etc/freetds/freetds.conf中添加配置项:
[MY_DB]
host = 192.168.0.1
port = 52104 #my port is this value.
tds version = 7.0
instance = SQLEXPRESS
#注意 此处 port和instance作用,MSSQL Server不仅仅可以通过port来识别一个instance,也允许通过named instance ,详情参考网址Sqsh / FreeTDS with
SQL2012 using the instance argument 。instance填写xx\SQLEXPRESS 中的 \ 后面的字串。但在我本机的实验中,port 和 instance的作用并不是互斥的(mutually exclusive),两者同时存在且值都是正确的时候,可以连接成功。 猜测可能是作者的失误?(port number maybe is wrong)如果有人实验结果跟我不同,希望可以交流下
相关文章推荐
- 神通数据库官网解决方案 电信行业:中国联通全国集中综合结算系统
- Mysql中DML语句对表空间干了什么?
- redis的小测试工程
- mysql防止多字段重复插入
- SQL正则表达式
- mabatis配合oracle自增长
- oracle分页sql
- Sqlserver,MySql 通用分页存储过程
- mysql备份脚本
- postgreSQL的安装
- 安装MySql WorkBench时提示连接不到mysql服务器
- memcache查看数据命令
- redis 学习,没事的时候看看增长知识面
- 7.mysql学习笔记:mysql集群的搭建(一)
- 50种方法优化SQL Server数据库查询
- oracle pipelined 自定义函数 function 返回table格式
- Oracle 10g安全加固(审计、监听密码)
- 老李分享: Oracle Performance Tuning Overview 翻译下
- MySQL中基本的多表连接查询教程
- 老李分享: Oracle Performance Tuning Overview 翻译