具有集成安全 PHP 和 MS SQL Server 的 ODBC 连接
Posted
技术标签:
【中文标题】具有集成安全 PHP 和 MS SQL Server 的 ODBC 连接【英文标题】:ODBC Connection with integrated security PHP and MS SQL Server 【发布时间】:2013-04-02 16:28:10 【问题描述】:我需要有关 php 中 ODBC 连接字符串的指导帮助,我用它来连接到 MS SQL Server。
<?php
$server = 'UKEMO03';
$database = 'mtpFetch';//the database to connect to
$user = 'shoabg';// the user has PERMISSIONS AT THE DATABASE
$pass = 'Shsx12x';//and here the user's password
$dsn = "Driver=SQL Server;Server=$server;Database=$database;";
$connect = odbc_connect($dsn, $user, $pass);
?>
以上代码有效,但我要求不指定用户名和密码,并将连接字符串与集成安全性结合使用。我在互联网上找不到任何东西,也无法更改连接字符串方法,因为我已经完成了大部分工作,并且通过调整另一种连接方法需要对代码进行大量更改,理论上它不是我的选择。
有没有一种方法可以创建集成安全连接,以使用 ODBC 在 PHP 中连接 MS SQL Server
请帮助我不知道该怎么办
【问题讨论】:
集成安全意味着 php 连接到任何帐户 php 和/或它所嵌入的网络服务器正在运行的凭据。 我一般在Dot Net中创建 server=1.1.1.0;Integrated Security=SSPI; 【参考方案1】:这会将您连接到 ODBC 主数据库(目录)。 我没有成功连接到另一个数据库。 ODBC SDN的配置中有default database的选项,但是没有效果 (“将默认数据库更改为”)。
$this->dbHandle = odbc_connect("Driver=SQL Server;Server=localhost;Integrated Security=SSPI", '', '');
如果您使用 PHP ini,请确保您使用:
mssql.secure_connection=On
在数据库服务器上,确保您的登录用户名关联了 Windows 身份验证
【讨论】:
以上是关于具有集成安全 PHP 和 MS SQL Server 的 ODBC 连接的主要内容,如果未能解决你的问题,请参考以下文章