抱歉,如果我在这里滥用术语;实际上,我对 Active Directory 和相关技术知之甚少。基本上我有一台 Linux 计算机,我希望它(或我在该计算机上的用户)与域上的用户相关联,以便我可以浏览网络和 Windows 拥有的所有内容。
这可行吗?我需要研究什么才能做这样的事情?
我正在设置一个 Docker 版本,它允许我从 Linux 连接到 SQL Server。据我所知,这与这个问题几乎无关,但可能,因为我很困惑!
我的映像基于 Debian,因为 Debian 小而轻。我怀疑我错过了一些语言环境的东西,这就是导致这种情况的原因,但我不知道。
无论如何,这是我的命令+错误:
$ perl -MDBI -MData::Dumper -E'say Dumper(DBI->connect("dbi:ODBC:server=10.6.6.17;port=1433;database=Lynx;driver=ODBC Driver 11 for SQL Server;uid=sa;pwd=password")->selectall_arrayref("SELECT * FROM Setup"))'
terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
Run Code Online (Sandbox Code Playgroud)
对我来说,这看起来像是 C++ 错误,可能与 SQL Server ODBC 驱动程序有关;它可能是 C++。
我试过了:
export LC_ALL=C
export LC_ALL=C.UTF-8
export LC_ALL=en_US.UTF-8
export LC_ALL=en_US
export LC_ALL=POSIX
apt-get install locales
locale-gen
并且取得了零进展。有任何想法吗?
附录:以下是我实际的 Dockerfile;它肯定是不完整的并且可以使用一些爱,但它可能会帮助您重现此错误(请注意,我的命令中的连接字符串最终需要调整以指向真正的 SQL Server,但不会重现此问题。)
FROM perl:5.20.1
RUN wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.2.tar.gz && \
tar xf unixODBC-2.3.2.tar.gz && \
cd …
Run Code Online (Sandbox Code Playgroud)