Awa*_*rni 11 sql-server odbc freetds
我知道这个问题被多次询问,但我已经尝试了所有但没有任何效果.我试图连接到与Ubuntu 14.04不同的服务器上的MSSQL数据库.
来自/etc/odbcinst.in的内容
[ODBC]
Trace = No
TraceFile = /tmp/odbc.log
[FreeTDS]
Description = FreeTDS
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
UsageCount = 1
fileusage=1
dontdlclose=1
Run Code Online (Sandbox Code Playgroud)
来自/etc/odbc.in的内容
[mssql]
Driver = FreeTDS
ServerName = mssql
Port = 1433
Database = My Database //database has space
Driver=/usr/local/lib/libtdsodbc.so
UsageCount = 1
TDS_Version = 7.3
instance = SQLEXPRESS
[Default]
Driver=/usr/local/lib/libtdsodbc.so
Run Code Online (Sandbox Code Playgroud)
和/etc/freetds/freetds.conf中的mssql部分
[mssql]
host = server ip
port = 1433
database = My Databas
instance = SQLEXPRESS
tds version = 7.3
client charset = UTF-8
Run Code Online (Sandbox Code Playgroud)
当我运行以下命令时,它会生成增加的数字
tsql -S mssql -U username -P password
Run Code Online (Sandbox Code Playgroud)
但是当我跑步的时候
isql -v mssql username password
Run Code Online (Sandbox Code Playgroud)
经过近30个部分,它返回
[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[08S01][unixODBC][FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist
[ISQL]ERROR: Could not SQLConnect
Run Code Online (Sandbox Code Playgroud)
net.c:205:FAILED连接到54.214.30.231端口1433(TDS版本4.2)
当我用tsql -C检查它时,错误显示在我的机器上安装的TDS版本4.2但我在conf文件中指定了7.3.是原因吗?如果是这样,我该如何升级版本?如果不是原因那么有人可以让我知道我做错了什么吗?
我认为您的 odbc 配置文件中缺少字母i 。它应该odbc.in代替odbc.ini
来自isql 男人页:
\n\n\nisql, iusql \xe2\x80\x94 unixODBC 命令行交互式 SQL 工具 概要
\n\nisql DSN [用户 [密码]] [选项] 说明
\n\nisql 是一个命令行工具,允许用户批量或交互地执行 SQL。它有一些有趣的选项,例如用于生成包含在 HTML 表中的输出的\n 选项。
\n\niusql 是具有内置 Unicode 支持的同一工具。论据
\n\n数据服务网络
\n\n\n
\n- \n
数据源名称,用于建立与数据库的连接。按顺序在/etc/odbc.ini和 $HOME/.odbc.ini文件中查找数据源,后者覆盖前者。
- \n
USER 指定应在其下建立连接的数据库用户/角色。
- \n
PASSWORD 指定用户的密码。
也同样如此/etc/odbcinst.in。应该/etc/odbcinst.ini
根据评论进行编辑
\n\nAdrian 在你的情况下,我认为最好创建一个新问题,因为这个错误号与 OP 不同。
\n\n错误消息:\n[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified [ISQL]ERROR: Could not SQLConnect.
根据您的错误消息,您需要添加Server=ip_address选项odbc.ini(我建议也添加描述)。不要忘记括号中的名称[mssql]必须是 a ServerDSN!您确定您在 处指定了正确的 TDS 版本吗TDS_Version = 7.3? Driver指令应该足够了/etc/odbcinst.ini。为什么有两个不同的驱动程序 -Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so第二Driver=/usr/local/lib/libtdsodbc.so个驱动程序只是符号链接吗?
现在配置看起来像这样(我必须猜测,因为我没有看到你的配置):
\n\n[mssql]\nDescription = "My MSSQL DB for data science"\nDriver = FreeTDS\nServerName = mssql\nServer = <ip_address>\nPort = 1433\nDatabase = My Database //database has space\nUsageCount = 1\nTDS_Version = 7.3\ninstance = <my_mssql_instance>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3358 次 |
| 最近记录: |