La experiencia es algo maravilloso, nos permite reconocer un error cada vez que lo volvemos a cometer.
Franklin P. Jones
El mes se acaba y no podría faltar el articulo de la semana. Y es que aunque tenga montón de trabajo jure por todos los medios que iba dedicar un tiempo para hacer lo que me gusta, Y aunque ustedes no lo crean me gusta escribir parece ser que es la única manera de callar mis voces. Aun no se si lo que escribo es bueno , malo , si sirve o no. En fin son cosas que en algún momento averiguare con algún plugin de feedback.
Bueno comencemos a entrar al tema este del SqlServer. Y todo comenzó con una nueva perspectiva que tenemos con un proyecto, Dicha circunstancia nos llevo a replantear la forma de consumir información, y es que ya los sistemas no solo deben de usar la información para su propio uso, si no que permitir que sus datos sean usados por terceros. Pero muchos de ellos tienen una política muy inflexibles de comunicación, o carecen de una Api que les permitir comunicarse con otros sistema y así en vez de duplicar información puedan complementar información existente. Y es así como nos metimos en el pedo de conectar CI4 con SQLSERVER.
Conectado SQLSERVER con CodeIgniter
Comenzamos definiendo el controlador que se va usar para establecer dicha conexión SQLSRV esta extensión de PHP permite acceder a bases de datos de Microsoft SQL Server y SQL Azure cuando se ejecuta PHP sobre Windows. La versión 3.0 del controlador soporta varias versiones de SQL Server entre ellas la 2008, que es la que vamos usar. pero no os preocupéis por aquí os dejo la pagina con mas referencia sobre dicho controlador “Driver” https://www.php.net/manual/es/intro.sqlsrv.php
Instalación
Bueno de antemano sabia bien que Microsoft no me la iba poner fácil, y es que con la poca experiencia que tengo se que cuando se trata de vincular tecnología Gnu/Linux y Microsoft. A veces las cosas se ponen un poco complicadas, pero quiero destacar que a mejorado bastante. Y si bien esto no fue como un apt install , zypper in o dnf install , la cosa no estuvo tan mal, Aunque la documentación si que esta algo difusa. Pero aquí os damos un pequeño empujón .
Pasos a seguir
- Instalar el build-essential y unixodbc-dev. Estos pueden variar dependiendo del sistema que tengan ejemplo en ubuntu pueden información con esto nombre que es pase, y en fedora como make automake gcc gcc-c++ kernel-devel y unixODBC, Estos paquetes son necesario ya que vamos a tener que disponer del PECL. Click para saber mas de esto
- Instalar ODBC, en este punto Microsoft te la pone fácil, con scripts que solo deben se ejecutados, Todos los comandos son en lenguajes bash. Así que basta con abrir una terminal, elegir dentro de esta pagina installing-the-microsoft-odbc-driver-for-sql-server, tu distribución de linux pegar o transcribir los comandos y ready. Solo hay dos cosas a considerar debes tener listo el primer punto y si no encuentra fedora el de RedHat funciona a la perfección
- Habilitar el PCEL. este Repositorio de extensiones es el camino mas rápido para tener el driver ya la otra opción se trata de compilar a capela este driver. Así que vamos a habilitarlo Habilitarlo en Fedora , Habilitarlo en Ubuntu , Habilitarlo en openSUSE
- Instalar el controlador sql-server. En este punto hay que ir a la siguiente pagina installation-tutorial-linux-mac?view=sql-server-ver15 , elegir tu Distribución y listo. Recodar Si tienes Fedora usad RedHat
Comprobación
monolinux@DESKTOP-40PRC2B:~$ php -m | grep sql pdo_pgsql pdo_sqlsrv pgsql sqlsrv monolinux@DESKTOP-40PRC2B:~$
Genial parece que ya tenemos listo nuestro controlador para darle caña a nuestro desarrollo, Sin embargo como pasa siempre en las peliculas, El malo no siempre muere a la primera. Y es que si bien aun no entiendo si este problema se debe a que estoy usando una VPN o alguna configuración extra del SqlServer al que me estoy conectado pero así lo resolví
[Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [error:1425F102:SSL routines:ssl_choose_client_version : unsupported protocol]
https://github.com/microsoft/msphpsql/issues/1112
https://github.com/microsoft/msphpsql/issues/1023
Configuración de env de codeigniter
database.default.hostname = localhost
database.default.database = master
database.default.username = sa
database.default..password =***************
database.default.DBDriver = SQLSRV
database.default.port = 1433
Y listo ya pueden usar el builder de codeigniter https://codeigniter.com/user_guide/database/query_builder.html . Buenos queridos lectores y únicos amigos se acabo el mes y se acabo el post. No olviden el próximo capitulo. Donde hablaremos sobre las múltiples conexiones hacia base de datos
Soy Juan Luis García Corrales, mi nombre de guerra es monolinux. Vivo en Villagrán ,Guanajuato. Cofundador de jungla
ISC orgullosamente LINCE. Apasionado del arte , Crítico de las Películas , Musica y Libros , Escribo en tiempo libres y ♥ Regina
Mi estilo de vida es la programación así que trato de sincronizarlo con mi vida diaria, predicó la filosofía Gnu/Linux para brindar opciones menos capitalistas.
– Viviendo en la armonía del caos