centos7 使用安装了 Microsoft ODBC Driver 13 for SQL Server 驱动后,使用sqlcmd连接不上sqlserver。
在CentOS 7上安装了Microsoft ODBC Driver 13 for SQL Server后,但使用sqlcmd连接不上SQL Server可能涉及到几个常见问题和解决方法:
1. 配置ODBC数据源
首先,确保已经正确配置了ODBC数据源以便让ODBC驱动能够正确地连接到SQL Server。
编辑ODBC配置文件:通常ODBC驱动会在
/etc/odbc.ini
或者用户目录下的.odbc.ini
文件中配置数据源信息。例如:ini[MySqlServerDSN] Driver = ODBC Driver 13 for SQL Server Server = your_sql_server_address Port = 1433 ; SQL Server默认端口 Database = your_database_name UID = your_username PWD = your_password
修改
Server
、Database
、UID
和PWD
为你的SQL Server的实际连接信息。测试ODBC配置:可以使用
isql
命令来测试ODBC配置是否正确,例如:bashisql -v MySqlServerDSN your_username your_password
如果能够成功连接,则说明ODBC配置正确。
2. 检查SQL Server配置
确保SQL Server已经启用了TCP/IP协议,并且允许远程连接。
启用TCP/IP协议:在SQL Server配置管理器中,确保TCP/IP协议已经启用。
配置防火墙:如果SQL Server和CentOS 7在不同的机器上,确保防火墙允许从CentOS 7主机上的sqlcmd程序访问SQL Server的1433端口(或其他SQL Server实例的端口)。
3. 检查驱动和依赖库
确保Microsoft ODBC Driver 13 for SQL Server已经正确安装,并且依赖的库已经正确配置。
检查ODBC驱动:确保
libmsodbcsql-13.1.so.x
(具体版本号可能有所不同)位于正确的系统库路径中,或者通过配置LD_LIBRARY_PATH
环境变量指定正确的路径。bashexport LD_LIBRARY_PATH=/opt/microsoft/msodbcsql/lib64:$LD_LIBRARY_PATH
安装依赖库:确保系统中安装了ODBC驱动依赖的库,例如
unixODBC
等。
4. 使用sqlcmd测试连接
最后,使用sqlcmd
命令来测试连接是否正常。
bashsqlcmd -S your_sql_server_address -U your_username -P your_password -d your_database_name -Q "SELECT @@VERSION;"
如果连接成功,会输出SQL Server的版本信息。如果连接失败,请查看错误消息并根据错误信息进一步调试。
通过以上步骤,应该能够解决CentOS 7上使用Microsoft ODBC Driver 13 for SQL Server连接SQL Server时遇到的问题。