INTEGRANDO SQLSERVER A CI4

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

Un driver es el nos permite comunicarnos con sistema como un motor de base de datos, implementando los protocolos de comunicación necesarios para ejecutar operaciones sobre este

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://askubuntu.com/questions/1284658/how-to-fix-microsoft-odbc-driver-17-for-sql-server-ssl-provider-ssl-choose-cli

https://github.com/microsoft/msphpsql/issues/1112

https://github.com/microsoft/msphpsql/issues/1023

https://www.openssl.org

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *