Guys, I tried lots of things mentioned in Stackoverflow and laracasts for this issue but none worked, hence posting this in hope of getting some answer or advice.
Кроме того, большая часть предоставленной информации относится к MYSQL, а не к MS SQL.
Я использую Windows 10 и использую Laravel для подключения к моей версии Microsoft SQL Server 2012 Express.
У меня есть файл .erv следующим образом:
DB_CONNECTION=sqlsrv
DB_HOST=W1234567\SQLEXPRESS
DB_PORT=1433
DB_DATABASE=My_Database_Name
DB_USERNAME=sa
DB_PASSWORD=My_Password
Указанные данные верны, но когда я выполняю простой запрос, в моем Laravel Model
появляется следующее сообщение об ошибке:
(3/3) QueryException
could not find driver (SQL: SELECT COUNT(*) AS count FROM TBL_Data
WHERE ACTIVE_IND = 1
)
У меня правильно работает WAMP, я добавил файл SQLSRV
в свой WAMP.
Все работало нормально, теперь я переместил код в другую систему, там я получаю эту ошибку(Обе системы имеют одинаковые учетные данные, меняются только имена серверов, которые я изменил), поэтому код должен работать правильно, так как никаких изменений не сделано.
Я попытался проверить номер порта TCP / IP SQL Server вSQL Server Configuration Manager
и изменил его на 1433 до сих пор не повезло.
Я проверил большинство ответов здесь, они относятся к исключению PDO и попросил людей раскомментировать часть extension=php_pdo_mysql.dll
, но в моем случае этоs SQL Server и обычный wamp работают идеально, похоже, это проблема LARAVEL.
Кто-нибудь может предложить решения для этого?
Edited part below with some more info:
Я проверил, еслиУказанные учетные данные верны, и если я могу подключиться к БД, используя простую функцию в контроллере: Мой маршрут: Route::get('/Test', 'My_Controller@Test');
Мой контроллер:
public function Test(Request $request)
{
if(DB::connection()->getDatabaseName())
{
echo "connected successfully to database ".DB::connection()->getDatabaseName();
}
}
Вывод в окне Chrome:connected successfully to database My_Database_Name
Как видно из вышеприведенного сообщения, я могу подключиться правильно, но при запуске запроса все равно появляется сообщение об ошибке:
(3/3) QueryException
could not find driver (SQL: SELECT * FROM TBL_Data WHERE ACTIVE_IND = 1 )
Добавлен phpinfo();
вконтроллер и попытался нажать на URL и получил следующую информацию, связанную с PDO:
PDO support enabled
PDO drivers mysql, SQLite
SQLSRV не включен, вот это то, чтовызывает проблему?