Debian 9中如何用sqlcmd通过ODBC连接MSSQL测试连通性
在Debian 9中使用sqlcmd通过ODBC连接MSSQL的方法
你已经完成了MS ODBC Driver 17的安装,并且配置了系统DSN(DB_TEST),接下来可以通过两种方式测试ODBC连接是否正常:
方法1:使用已配置的DSN连接
直接调用你在/etc/odbc.ini中定义的DB_TEST数据源,命令如下:
sqlcmd -D -S DB_TEST
-D参数表示启用ODBC DSN连接模式-S后面紧跟你配置的DSN名称(这里是DB_TEST)
执行命令后,若配置无误,会进入sqlcmd交互环境,你可以执行简单SQL语句验证连接有效性:
SELECT @@VERSION; GO
方法2:直接指定连接参数(不依赖DSN)
如果不想通过预配置的DSN,也可以直接在命令行指定驱动、服务器、认证等参数,命令格式如下:
sqlcmd -S "DRIVER={ODBC Driver 17 for SQL Server};SERVER=12.6.01.123;DATABASE=DB_TEST" -U SA -P PASSSSSSSSS
参数对应你odbc.ini里的配置项:
DRIVER必须与odbcinst.ini中注册的驱动名称完全一致(当前环境为ODBC Driver 17 for SQL Server)SERVER是你的MSSQL服务器地址DATABASE为目标连接数据库-U和-P分别指定用户名和密码
额外验证排查步骤
如果连接出现问题,可以先检查基础配置是否正确:
- 查看已安装的ODBC驱动列表:
odbcinst -q -d
确认能看到ODBC Driver 17 for SQL Server的条目
2. 查看已配置的DSN列表:
odbcinst -q -s
确认能列出DB_TEST数据源
另外,你提到的sqlcmd -S 12.6.01.123 -U SA -P命令可正常运行,说明基础连接通路是通的,补充密码和默认数据库参数即可直接连接目标库:
sqlcmd -S 12.6.01.123 -U SA -P PASSSSSSSSS -d DB_TEST
-d参数用于指定默认连接的数据库。
内容的提问来源于stack exchange,提问作者Jake He




