没有 sudo 的 isql (MSSQL ODBC Linux)
isql without sudo (MSSQL ODBC Linux)
我在 Linux 中成功安装了官方 MSSQL ODBC 驱动程序,我可以连接到每个数据库并使用 isql 执行命令:
sudo isql -v dsn user pw
但是,如果我在自己的应用程序中执行 SQL 语句 (select ...),则无法获取数据 ("Driver does not support this function") -> 我认为是因为 isql 需要 sudo 权限。
有没有不用sudo执行isql的方法?
我试图更改 (chmod, chown) isql 的一些权限,但我仍然需要 sudo。
这不应该是这样的。你能试试 SELECT @@Version 吗?或者,您可以尝试 运行 通过 sqlcmd 执行相同的查询吗?
安装步骤和 运行 sqlcmd 在这里:https://blogs.msdn.microsoft.com/sqlnativeclient/
我找到了解决方案。问题不是 isql,而是 odbc.ini 和 odbcinst.ini!
的位置
作为 "sudo" 连接正在查看 /etc/odbc.ini 和 /etc/odbcinst.ini
作为 "normal" 用户,连接正在寻找这样的路径:/usr/local/odbc.ini 和 /usr/local/odbcinst.ini
我编辑了两个文件并且连接正常!
我在 Linux 中成功安装了官方 MSSQL ODBC 驱动程序,我可以连接到每个数据库并使用 isql 执行命令:
sudo isql -v dsn user pw
但是,如果我在自己的应用程序中执行 SQL 语句 (select ...),则无法获取数据 ("Driver does not support this function") -> 我认为是因为 isql 需要 sudo 权限。
有没有不用sudo执行isql的方法? 我试图更改 (chmod, chown) isql 的一些权限,但我仍然需要 sudo。
这不应该是这样的。你能试试 SELECT @@Version 吗?或者,您可以尝试 运行 通过 sqlcmd 执行相同的查询吗?
安装步骤和 运行 sqlcmd 在这里:https://blogs.msdn.microsoft.com/sqlnativeclient/
我找到了解决方案。问题不是 isql,而是 odbc.ini 和 odbcinst.ini!
的位置作为 "sudo" 连接正在查看 /etc/odbc.ini 和 /etc/odbcinst.ini
作为 "normal" 用户,连接正在寻找这样的路径:/usr/local/odbc.ini 和 /usr/local/odbcinst.ini
我编辑了两个文件并且连接正常!