gpt4 book ai didi

tsql - FreeTDS - TSQL 在选项中给出密码时失败,但在键入时成功?

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:57 25 4
gpt4 key购买 nike

我正在尝试使用 Ubuntu 16.04 服务器通过 PHP 5.6 连接到 MS SQL Server。我被迫使用此版本的 PHP,以确保与“古老”应用程序的兼容性。

我通过 ondrej 的 PPA 安装了 PHP 5.6 及其模块(pdo、pdo_mysql、readline 等),没有任何问题,但我无法找到并安装“mssql.so”我正在尝试运行的应用程序所需的模块包。

这就是为什么我决定使用 ODBC(和 PDO_ODBC)驱动程序来连接到数据库。

为了这样做,我安装了 freetdsunixodbc 并像这样配置我的文件:

'odbcinst.ini' 文件:

enter image description here

'odbc.ini' 文件:

enter image description here

最后是“freetds.conf”文件:

enter image description here

好吧,我想我所有的文件都配置好了,但接下来的部分开始有点奇怪,让我解释一下:当我尝试使用 tsql 连接到 MS SQL 数据库不在选项中提供密码,但在询问时输入密码,连接有效:

enter image description here

但是当我尝试提供与选项相同的密码 (-P) 时,它不起作用(我使用正确的密码至少尝试了 10 次)!!!

enter image description here--> tsql 无法为用户“WIPSOS-PHP”打开 session

当我尝试将 isql 与我的连接器之一一起使用时,同样的问题发生了 我在“odbc.ini”文件中配置了:

enter image description here

这似乎是与密码有关,但我找不到问题,你能帮帮我吗?

最佳答案

我找到了部分答案,它与密码有效相关:当出现在为 tsql 命令的 -P 选项给出的密码中时,似乎特殊字符没有得到很好的解释

因此,取决于您的 shell,您必须在完成选项的字符串中转义这些字符。在我的例子中,使用 bash,我不得不使用 '\' 来转义特殊字符:

tsql -S hostname -D Database -U User -P pa\$\$word

现在可以使用了!

enter image description here

但是当我尝试在 'odbc.ini' 文件中用 '\' 转义特殊字符时,它似乎仍然不起作用:

enter image description here

我的下一个问题是:“如何转义‘.ini’文件中的特殊字符?”“我的配置有问题吗?”

编辑:我知道那是很久以前的事了,但我在“freetds.conf”文件中遇到了与主机名相关的配置问题。事实上,我使用的是服务器的本地网络 DNS 名称,而不是它的 IP 地址(这是可行的)。

我希望我的问题至少能帮助一些人,处理 TSQL 和 FreeTDS 并不容易......

关于tsql - FreeTDS - TSQL 在选项中给出密码时失败,但在键入时成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38454890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com