2017-01-12 3 views
0

Я использую Microsoft Azure SQL для моей базы данных, и я пытаюсь подключить его к моему проекту на своем локальном хосте с помощью XAMPP. Когда я пытаюсь подключиться к базе данных, используя строку соединения они предоставляют:SQL Server PDO не смог найти драйвер

try { 
    $conn = new PDO("sqlsrv:server = tcp:app.database.windows.net,1433; Database = mydatabase", "{myusername}", "{your_password_here}"); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch (PDOException $e) { 
    print("Error connecting to SQL Server."); 
    die(print_r($e)); 
} 

Я получаю эту ошибку:

Error connecting to SQL Server.PDOException Object ([message:protected] => could not find driver 

ошибка длиннее, но я думаю, что это связано с водителем, упомянутых на конец. Я использую mac, поэтому любой драйвер, который мне нужно установить, должен быть совместим с ним. Благодарим вас за помощь заранее.

+0

Не используйте тег 'mysql' для вопросов SQL-Server. – Barmar

ответ

0

База данных Azure SQL построена на движке Microsoft SQL Server. Поэтому вы можете использовать pdo-dblib для подключения к SQL Server с использованием PDO на Mac. Вы можете проверить a Stack Overflow question about it here или обратиться к this setup documentation.

После того, как драйвер был установлен, Azure SQL фактически не примет соединение с вашим локальным. И вы можете получить следующую ошибку:

Client with IP address '167.xxx.xxx.xxx' is not allowed to access the server.

Это потому, что по умолчанию используется межсетевой экран. Чтобы включить доступ, перейдите на страницу Azure portal, нажмите Все ресурсы, выберите свою службу SQL, нажмите Брандмауэр в меню НАСТРОЙКА.

enter image description here

Ваш адрес клиента удобно включен в список, так что вы можете просто нажать на Добавить клиента IP следуют Сохранить.

Ну, когда вы запускаете свой код сейчас, он должен подключиться.

Смежные вопросы