2017-01-28 5 views
0

Я пытаюсь подключиться к моей базе данных SQL Server с помощью PHP. Я запускаю WampServer и SQLExpress с помощью Management Studio. По какой-то причине вызов sqlsrv_connect завершается с ошибкой. Открывается соединение с SQL Server, но вход пользователя невозможен. Это происходит как для проверки подлинности Windows, так и для проверки подлинности SQL Server. Я уже перешел на «SQL Server и Windows Authentication Mode» на вкладке «Безопасность» свойств базы данных. Я также проверил, что удаленные подключения разрешены на вкладке «Соединения». Я могу войти с помощью проверки подлинности SQL Server с помощью Management Studio, просто не с кодом PHP. Любая помощь в том, что я, возможно, делаю неправильно, оценивается.sqlsrv_connect Login Fails for User

<?php 
$serverName = "STTM-PC\SQLEXPRESS"; 
$connectionInfo = array("Database"=>"myDatabase","UID"=>"myUsername","PWD"=>"myPassword"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 

if ($conn) { 
    echo "Connection Established<br/>"; 
} 
else { 
    echo "Connection Failed<br/>"; 
    die(print_r(sqlsrv_errors(), true)); 
} 
?> 

Печатает этой

Connection Failed 
Array ([0] => Array ([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'myUsername'. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'myUsername'.) [1] => Array ([0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "myDatabase" requested by the login. The login failed. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "myDatabase" requested by the login. The login failed.) [2] => Array ([0] => 28000 [SQLSTATE] => 28000 [1] => 18456 [code] => 18456 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'myUsername'. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'myUsername'.) [3] => Array ([0] => 42000 [SQLSTATE] => 42000 [1] => 4060 [code] => 4060 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "myDatabase" requested by the login. The login failed. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot open database "myDatabase" requested by the login. The login failed.)) 
+0

Я предполагаю, что вы проверили, что пользователь настроен в базе данных, и пароль для этого использования правильный – RiggsFolly

+0

Включили ли вы удаленные подключения для SQL-сервера? http://blog.citrix24.com/configure-sql-express-to-accept-remote-connections/ –

+0

Да, и я могу подключиться с помощью Microsoft SQL Server Management Studio без проблем. Просто не с PHP. И да, удаленные подключения включены. – styro103

ответ

0

Я понял, что был неправ. Я никогда не пользовался базой данных, поэтому соединение не было установлено. Чтобы исправить ошибку, я вошел в базу данных с помощью Management Studio. Я перешел на вкладку «Безопасность», а затем на вкладку «Логины». Я щелкнул правой кнопкой мыши имя пользователя и выбранные свойства. В разделе «Пользовательское сопоставление» я выбрал «myDatabase», чтобы сопоставить его с этой учетной записью. Теперь соединение установлено.