我在linux中设置了连接到MSSQL服务器的odbc连接:
这是.ini和inst文件的位置和权限:
-rw-r--r-- 1 root root 169 Aug 7 17:00 odbc.ini
-rw-r--r-- 1 root root 188 Aug 7 16:40 odbcinst.ini
这是mssql服务器驱动程序的权限:
-rwxrwxrwx 1 root root 1855896 Aug 7 16:39 /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2260.0
当我以系统用户身份登录时,我会对该文件执行操作,我会获得权限被拒绝错误,如下所示:
~> ls -l /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2260.0
ls: cannot access /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2260.0: Permission denied
它具有所有用户的读取,写入和执行权限。当我以root用户身份登录时,我无法从linux连接到db。当我以root身份登录时,我可以在sql server上建立ODBC连接。我在这做错了什么。我需要每个人建立odbc连接。
答案 0 :(得分:0)
其他人没有驱动程序目录的权限,这个命令解决了我的问题:
chmod -R o+rx /opt/microsoft/msodbcsql/11.0.2260.0