Sql server and laravel 5 - php

I think I created conection but when I try simple query it return this:
SQLSTATE[42S02]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Invalid object name 'Table_1'. (SQL: select * from [Table_1])
Here is my config:
'default' => env('DB_CONNECTION', 'sqlsrv'),
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'WIN-THR4E35I6N6\SQLEXPRESS'),
'database' => env('DB_DATABASE', 'test123'),
'username' => env('DB_USERNAME', 'test123'),
'password' => env('DB_PASSWORD', 'test321'),
'charset' => 'utf8',
'prefix' => '',
],
Anyone know what can be problem?

Related

How to connect to SQL Remote server in Laravel

I deploy my php laravel project (version 5.8) in digitalocean. I use remote SQL server for the database. I can connect to remote sql server by SQL SERVER MANAGEMENT, but when i use in laravel, i get this error
"message": "SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (192.168.x.xxxx:1433) (severity 9) (SQL: select top 1 * from [users] where [email] = )",
here is my .env setting
DB_CONNECTION=sqlsrv
DB_HOST=192.168.0.xxx
DB_PORT=1433
DB_DATABASE=xxxx
DB_USERNAME=xxx
DB_PASSWORD=xxxx
<?php
return [
'default' => env('DB_CONNECTION', 'sqlsrv'),
'connections' => [
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '192.168.x.xxx'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'xxx'),
'username' => env('DB_USERNAME', 'xxx'),
'password' => env('DB_PASSWORD', 'xxxx'),
'charset' => 'utf8',
'prefix' => '',
],
],
'migrations' => 'migrations',
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
];
Try to change
'driver' => 'sqlsrv',
to
'driver' => 'mysql',

[ODBC Driver 17 for SQL Server]Login timeout expired - Laravel 5.7

I have 2 projects (A and B), the project A using Laravel 5.4 and connecting in a database instance from mssql (this database is to my development environment). The project B use Laravel 5.7 and cannot connect in the same instance, I get this return:
"SQLSTATE[HYT00]: [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired
But both projects can connect in production without problems. I use the same database confs for project A and B.
I running a docker container and the Dockerfile is the same for both projects. I can't undestand why in one works, but in another no.
I'm using php 7.1
Production Conf:
'database_test' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'sqlsrv.xxxxx.com.br'),
'database' => env('DB_DATABASE', 'database'),
'username' => env('DB_USERNAME', 'user_database'),
'password' => env('DB_PASSWORD', 'user_password'),
'charset' => 'utf8',
'prefix' => '',
'options' => [
],
Development Conf:
'database_test' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '99.000.000.99\MBC03'),
'database' => env('DB_DATABASE', 'database'),
'username' => env('DB_USERNAME', 'user_database'),
'password' => env('DB_PASSWORD', 'user_password'),
'charset' => 'utf8',
'prefix' => '',
'options' => [
],
],

error - could not find driver , while fetching data from database in laravel

I am getting following error -
could not find driver (SQL: select * from [customer] order by [id] desc)
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'Customer'),
'username' => env('DB_USERNAME', 'SA'),
'password' => env('DB_PASSWORD', '**********'),
'charset' => 'utf8',
'prefix' => '',
],
I have also change the default option in database file like below -
'default' => env('DB_CONNECTION', 'sqlsrv'),
After doing all I am facing mentioned error .

Laravel 5.6 Unable to connect MS SQL Server 2008 R2 from PHP/Laravel

I am using Laravel 5.6, and trying to connect with MS SQL Server 2008 R2, all running on local machine. I have a test database named "ItemMaster", which is working fine with my C#.Net application.
When I try to connect same database from Laravel, I am getting this error:
SQLSTATE[08001]: [Microsoft][ODBC Driver 11 for SQL Server]TCP Provider: No connection could be made because the target machine actively refused it. (SQL: select * from ITEM_CATEGORY)
Can anybody suggest how to fix this.
In config/database.php, I have setup sqlsrv driver as follows:
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'MY-PC\MYSQL2008R2'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'ITEMMASTER'),
'username' => env('DB_USERNAME', 'myuser'),
'password' => env('DB_PASSWORD', 'mypassword'),
'charset' => 'utf8',
'prefix' => '',
],
Getting error on this line inside my controller:
$items = DB::connection('sqlsrv')->select('select * from ITEM_CATEGORY');
I installed Microsoft Drivers 4.3 for PHP for SQL Server and copied file php_pdo_sqlsrv_71_ts_x86.dll to php/ext folder.
I find solution for this problem, sharing might help someone else making same mistake.
Actually the mistake is how I defined SQL Connection parameters in config/database.php
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'MY-PC\MYSQL2008R2'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'ITEMMASTER'),
'username' => env('DB_USERNAME', 'myuser'),
'password' => env('DB_PASSWORD', 'mypassword'),
'charset' => 'utf8',
'prefix' => '',
],
In this code segment, I actually defined my parameters as second parameter to env() which (be-definition) is not the real value but will be used as default value if that specific key is not found in .env file.
You can read more about Environment configuration here
So the final code segment should be like this:
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => 'MY-PC\MYSQL2008R2',
'port' => '1433',
'database' => 'ITEMMASTER',
'username' => 'myuser',
'password' => 'mypassword',
'charset' => 'utf8',
'prefix' => '',
],
Or another alternative may be to define these parameters in .env file, in the root directory of your application .

How to connect Laravel and Microsoft sql server

Here is my configuration in laravel:
'default' => env('DB_CONNECTION', 'sqlsrv'),
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '192.168.1.15'),
'database' => env('DB_DATABASE', 'gaspos'),
'username' => env('DB_USERNAME', 'vlado'),
'password' => env('DB_PASSWORD', 'test1'),
'charset' => 'utf8',
'prefix' => '',
],
And when I try:
php artisan migrate, I get:
[PDOException]
SQLSTATE[08001]: [Microsoft][ODBC Driver 11 for SQL Server]Named Pipes Prov
ider: Could not open a connection to SQL Server [2].
Anyone know what is porblem?

Categories