我需要一个简单而完整的教程来从 Ubuntu 建立 MSSQL 连接。
我认为我安装了 FreeTDS 和 UnixODBC,但是配置非常复杂,我不明白这个问题。
但我失败了。
root@hackmachine:~# isql -v example.com XXXXX XXXXXXX
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
root@hackmachine:~#
编辑:
在此编辑之前,“/etc/odbcinst.ini”和“/etc/odbc.ini”是空的。
我将这些行添加到 /etc/odbcinst.ini:
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1
我将这些行添加到 /etc/odbc.ini:
[project_development]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = developer
Database = project_development
[project_test]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = developer
Database = test
[project_production]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = production
Database = project_production
我从一开始就没有对“/etc/freetds/freetds.conf”做任何更改。
但什么也没有改变。
答案1
以下是分步说明(点击此处):
首先,安装 unixODBC:
sudo apt-get install unixodbc unixodbc-dev
我还安装了以下(可能是必要的)软件包:
sudo apt-get install tdsodbc php5-odbc
然后下载、解压、编译并安装 FreeTDS(警告,URL 可能会发生变化):
cd /usr/local
wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar xvfz freetds-stable.tgz
cd freetds-0.82
./configure --enable-msdblib --with-tdsver=8.0 --with-unixodbc=/usr
make
make install
make clean
尝试通过 Telnet 连接到您的 SQL Server 实例:
telnet 192.168.0.1 1433
使用 tsql 工具测试连接:
tsql -S 192.168.0.1 -U devuser
这将提示您输入密码,之后您就可以抱着一丝希望看到这个美丽的标志了:
1>
如果这有效,我建议举办一个(编码)聚会。接下来是一些配置。打开 FreeTDS 配置文件。/usr/local/etc/freetds.conf
在文件底部添加以下条目。我们正在设置一个名为“MSSQL”的数据源名称 (DSN)。
[MSSQL]
host = 192.168.0.1
port = 1433
tds version = 8.0
现在打开 ODBC 配置文件:/usr/local/etc/odbcinst.ini
并在最后添加以下 MSSQL 驱动程序条目(FreeTDS):
[FreeTDS]
Description = FreeTDS driver
Driver = /usr/local/lib/libtdsodbc.so
Setup=/usr/lib/odbc/libtdsS.so
FileUsage = 1
UsageCount = 1
然后,最后,在 odbc.ini 文件(/usr/local/etc/odbc.ini)中设置 ODBC 内的 DSN,通过将此位添加到文件:
[MSSQL]
Description = MS SQL Server
Driver = /usr/local/lib/libtdsodbc.so
Server = 192.168.2.3
UID = devuser
PWD = devpass
ReadOnly = No
Port = 1433
使用 isql 工具测试连接:
isql -v MSSQL devuser 'devpass'
如果您看到“已连接!”,恭喜您!如果没有,我真的很抱歉;请参阅下面的一些资源,它们可能会有所帮助。
现在重新启动 Apache 并使用“MSSQL”作为 DSN 从 PHP 进行测试。如果某些操作无效,您可以尝试安装以下任何或所有软件包:mdbtools libmdbodbc libmdbtools mdbtools-gmdb
答案2
在 Trusty 14.04 上,我遇到了http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
当我尝试运行tsql
命令时,我发现tsql
可以通过 apt 安装:
$ sudo apt-get install freetds-bin
答案3
希望您已将链接中的内容复制到文件中。您需要在“/etc/odbc.ini”文件中更新 SQL 服务器详细信息。您可以参考链接http://guywyant.info/log/206/connecting-to-ms-sql-server-from-ubuntu/