我在 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 操作,出现权限被拒绝错误,如下所示:
~> 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 连接到数据库。当我以 root 身份登录时,我可以与 sql server 建立 ODBC 连接。我在这里做错了什么。我需要每个人都建立odbc连接。
最佳答案
其他人没有驱动程序目录的权限,这个命令解决了我的问题:
chmod -R o+rx /opt/microsoft/msodbcsql/11.0.2260.0
关于linux - 如何让所有用户都能访问 linux 中的 odbc 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25293266/