Traemos la mejor información que encontramos en todo internet. Queremos que te resulte de mucha utilidad y si deseas compartir cualquier detalle que nos pueda ayudar a mejorar hazlo libremente.
Solución:
Eso es lo que hice para conectar mi aplicación Laravel a MS SQL Server:
-
sudo apt-obtener actualización
-
sudo apt-get install php5-sybase
si intenta instalar php5-mssql, instalará php5-sybase de todos modos, es “Módulo Sybase / MS SQL Server para php5”.
esto hará que Laravel use el controlador dblib en lugar de sqlsrv.
consulte este archivo para ver la referencia IlluminateDatabaseConnectorsSqlServerConnector.php.
- abre este archivo: /etc/freetds/freetds.conf
bajo [global]
sección y bajo tds version = 4.2
agregar tds version = 8.0
(sin ; semi columna al principio de la línea)
y agregar cliente charset = UTF-8
justo debajo de la línea de arriba (sin ; semi columna al principio de la línea)
Esto permite que el controlador codifique todos los datos en utf-8 y evite los caracteres extraños en los datos.
el archivo se verá así:
[global]
# TDS protocol version
; tds version = 4.2
tds version = 8.0
client charset = UTF-8
- crea un archivo locales.conf en este directorio /etc/freetds y pase lo siguiente dentro de él: (esto permite el análisis correcto de fechas con SQL Server).
[default]
date format = %Y-%m-%d %I:%M:%S.%z
[en_US]
date format = %b %e %Y %I:%M:%S:%z%p
language = us_english
charset = iso_1
- editar el php.ini expediente
primero busque el archivo con php -i | grep php.ini
luego abra el archivo y busque mssql.juego de caracteres (probablemente será como deshabilitado así ; mssql.charset = “ISO-8859-1” )
hazlo mssql.juego de caracteres = “UTF-8” <
guardar y Salir
-
ahora reiniciar su servidor (nginx o apache o php-fpm)
-
por supuesto, sabe que necesita configurar la base de datos para usar sqlsrv de forma predeterminada
'default' => 'sqlsrv',
y agrega tus credenciales.
OTROS METODOS:
puede usar el controlador ODBC para conectarse
aquí hay un buen paquete https://github.com/ccovey/odbc-driver
Ahh después de mucha más investigación, descubrí que mi conductor de SQL Server Native Client 10.0
estaba desactualizado y no era suficiente para conectarse a un MsSQL Server 2008
con PDO, debe tener al menos la versión 11.0
para conectarse a un SQL Server 2005+
Si desea validar la versión de su controlador, puede pasar por Control Panel >> Administrative Tools >> Data Sources (ODBC)
y luego haga clic en el Drivers
ficha para saber cuál SQL Server Native Client
ya has instalado. Si desea actualizar su controlador, dependiendo de la configuración de su sistema operativo, puede elegir el enlace adecuado a continuación…
Cliente nativo de SQL Server 2012
Paquete x86 (32 bits) http://go.microsoft.com/fwlink/?LinkID=239647&clcid=0x409
Paquete x64 (64 bits) http://go.microsoft.com/fwlink/?LinkID=239648&clcid=0x409
para linux, Laravel 5 y PHP 7.1:
- Añadir conexión como dice aquí
sudo apt install php7.1-sybase
- Intentar otra vez 🙂
Comentarios y puntuaciones
Te invitamos a añadir valor a nuestra información colaborando tu experiencia en las ilustraciones.