And*_*Mim 22 sql-server odbc freetds isql ubuntu-12.04
我正在尝试使用FreeTDS和unixODBC从Ubuntu 12.04网络服务器连接到MSSQL服务器.
使用tsql我可以连接到服务器
~$ tsql -S dbs3 -U <username> -P <password>
Run Code Online (Sandbox Code Playgroud)
没问题.
当我尝试连接isql时,我收到以下错误消息:
~$ isql -v database3 <username> <password>
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name.
[ISQL]ERROR: Could not SQLConnect
Run Code Online (Sandbox Code Playgroud)
我的配置文件如下:
ODBC.INI
[database3]
Driver=FreeTDS
TDS_Version=8.0
Servername=dbs3
Port=1433
Database=benchmark_res
Run Code Online (Sandbox Code Playgroud)
ODBCINST.INI
[FreeTDS]
Description=FreeTDS v0.91
Driver=/usr/local/lib/libtdsodbc.so
Setup=/usr/local/lib/libtdsS.so
Trace=Yes
TraceFile=/tmp/freetds.log
ForceTrave=Yes
UsageCount=1
Run Code Online (Sandbox Code Playgroud)
freetds.conf
# This file is installed by FreeTDS if no file by the same
# name is found in the installation directory.
#
# For information about the layout of this file and its settings,
# see the freetds.conf manpage "man freetds.conf".
# Global settings are overridden by those in a database
# server specific section
[global]
# TDS protocol version
; tds version = 4.2
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
# A typical Sybase server
[egServer50]
host = symachine.domain.com
port = 5000
tds version = 5.0
# A typical Microsoft server
[egServer70]
host = ntmachine.domain.com
port = 1433
tds version = 7.0
[dbs3]
host = <server-ip>
port = 1433
tds version = 8.0
Run Code Online (Sandbox Code Playgroud)
为什么isql连接不正确?
我的猜测是错误是非常明显的,但我看起来太愚蠢了:D
Tha*_*lin 13
问题在于odbc.ini中的这一行
[database3] must be [dbs3] in your case.
Run Code Online (Sandbox Code Playgroud)
对于那些也有这个问题的人,请检查
ServerName = *Points to the name of the server configured in freetds.conf*
Run Code Online (Sandbox Code Playgroud)
如果 odbc 找不到数据源,则意味着您提供了错误的数据源
dbs3如果 odbc.ini 中没有,您可能尝试连接将会失败
您应该连接到[database3]ODBC
isql -v database3 <username> <password>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28626 次 |
| 最近记录: |