我正在尝试连接到SQL Server上的数据库,但似乎无法使连接正常工作。我尝试了几种方法,下载了文件,启用了扩展名,但是似乎都没有用。我已经确定SQL Server具有命名管道,并且允许进行远程连接。我还确认了他的密码和用户名有效:
<?php
$driver='{ODBC Driver 17 for SQL Server}';
/* $driver='{ODBC Driver 13 for SQL Server}'; */
/* $driver='{ODBC Driver 11 for SQL Server}'; */
$dsn='phpodbc11';
$hostname='host01';
$database='data01';
$username='root';
$password='pass123';
$conn = new PDO("odbc:$dns")
$conn = new PDO("dblib:host=$hostname;dbname=$database", $username,$password);
$conn = new PDO("sqlsrv:Server=$hostname;Database=$database", $username, $password);
$conn = new PDO("odbc:Driver=$driver;Server=$hostname;Database=$database", $username, $password);
?>
php.ini扩展名:
我在上述每次新的PDO尝试中遇到的错误
* SQLSTATE [IM002] SQLConnect:0 [Microsoft] [ODBC驱动程序管理器]找不到数据源名称,并且未指定默认驱动程序
找不到驱动程序
SQLSTATE [IMSSP]:此扩展需要SQL Server的Microsoft ODBC驱动程序才能与SQL Server通信。访问以下URL,以下载用于x86的SQL Server ODBC驱动程序:https://go.microsoft.com/fwlink/?LinkId=163712
SQLSTATE [IM002] SQLDriverConnect:0 [Microsoft] [ODBC驱动程序管理器]找不到数据源名称,并且未指定默认驱动程序*
答案 0 :(得分:0)
尝试一下,它对我有用:
1.-执行PDO驱动程序/版本3_2 / SQLSRV32.exe
从PDO Drivers
First see compatibillity in [Drivers for PHP for SQL Server][2]
2.-将此DLL复制到您的WAMP目录中
3.-在您的php.ini部分动态扩展中添加以下扩展行:
extension=php_sqlsrv_56_ts.dll
extension=php_pdo_sqlsrv_56_ts.dll
extension=php_pdo_sqlsrv_56_nts.dll
4.-重新启动apache WampServer
5.-在您的计算机中安装ODBC 11:
ODBC
Run: ODBC/msodbcsql.msi
6.-参见phpinfo.php,现在您必须是:
PDO
PDO support enabled
PDO drivers mysql, sqlite, **sqlsrv**
pdo_sqlsrv
pdo_sqlsrv support enabled
Directive Local Value Master Value
pdo_sqlsrv.client_buffer_max_kb_size 10240 10240
pdo_sqlsrv.log_severity 0 0
sqlsrv
sqlsrv support enabled
Directive Local Value Master Value
sqlsrv.ClientBufferMaxKBSize 10240 10240
sqlsrv.LogSeverity 0 0
sqlsrv.LogSubsystems 0 0
sqlsrv.WarningsReturnAsErrors On On
祝你好运