Conexión con MSSQL NATIVE SRV PDO
En Scriptcase instalado en Linux, tenemos el siguiente controlador disponible para la conexión a MSSQL Server: PDO DBLIB, NATIVE SRV PDO y NATIVE SRV. Si está utilizando su propio entorno preconfigurado, las extensiones de MSSQL Server deben habilitarse manualmente en PHP.
Si necesita usar identificadores de base de datos en sus tablas, le recomendamos que use comillas dobles ( “ ) en lugar de corchetes ( [ ] ) debido al conflicto con las sintaxis de variables globales de Scriptcase. El uso de corchetes como identificadores de bases de datos puede causar problemas en el funcionamiento de las aplicaciones de Scriptcase.
Tutorial de instalación de controladores de Microsoft para PHP y SQL Server
_IMPORTANTE: Si está utilizando el instalador automático de Scriptcase, las extensiones ya están habilitadas en PHP, listas para la conexión. El procedimiento a continuación es solo para instalaciones manuales de Scriptcase.
1 - Ingrese al Shell (terminal) como root e instale los siguientes paquetes:
Ubuntu\Debian | RHEL\CentOS |
---|---|
sudo apt-get install unixodbc-dev |
sudo yum install unixODBC-devel |
En la terminal de Linux, deberá ejecutar los siguientes comandos para instalar los controladores:
Ubuntu\Debian
sudo pecl install pdo_sqlsrv
sudo su
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.1/mods-available/pdo_sqlsrv.ini
exit
sudo phpenmod -v 8.1 pdo_sqlsrv
RHEL\CentOS
sudo pecl install pdo_sqlsrv
sudo su
echo extension=pdo_sqlsrv.so >> `php --ini | grep "Scan for additional .ini files" | sed -e "s|.*:\s*||"`/30-pdo_sqlsrv.ini
exit
- Si no puede ejecutar el comando anterior es porque no se encuentan instalados los paquetes, por lo que se debe instalar el repositorio que se muestra a continuación y luego actualizar nuevamente (item 1).
sudo su
add-apt-repository ppa:ondrej/php -y
sudo apt-get update
2 - Reinicia el servicio Apache a través de la terminal.
sudo service apache2 restart
Instalación del controlador ODBC de Microsoft para SQL Server (Linux)
1 - Usando la terminal, ejecute los siguientes comandos:
Ubuntu
if ! [[ "16.04 18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
echo "Ubuntu $(lsb_release -rs) is not currently supported.";
exit;
fi
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
Debian
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
RHEL\CentOS
sudo su
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#RHEL 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
#RHEL 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo
#RHEL 9
curl https://packages.microsoft.com/config/rhel/9.0/prod.repo > /etc/yum.repos.d/mssql-release.repo
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql17
2 - Reinicia el servicio Apache a través de la terminal.
sudo service apache2 restart
Conexión a Scriptcase
A continuación se muestra comó crear una conexión en su proyecto Scriptcase, utilizando el controlador habilitado (NATIVE SRV PDO y NATIVE SRV) y la base de datos MSSQL Server.
1- Accede a un proyecto desde tu Scriptcase.
2- Haga clic en el icono Nueva conexión para crear una conexión
o acceda al menú Base de datos> Nueva conexión.
Después de eso, aparecerá una pantalla con todas las conexiones a la base de datos.
3 - Seleccione la conexión MSSQL Server.
Conexión
Ingrese los parámetros para conectarse a su base de datos de Azure MSSQL Server de la siguiente manera:
-
Nombre de la conexión: Defina el nombre de su nueva conexión. De forma predeterminada, Scriptcase agrega el prefijo conn junto con el nombre de la base de datos.
-
DBMS Driver: Seleccione el controlador del servidor MSSQL para conectarse. En este ejemplo, usamos el controlador PDO DBLIB.
- Servidor/Host(Nombre o IP): Ingrese el nombre o IP del host que configuró en su archivo freetds.conf.
-
EX:
MSSQLServer
-
Port: Ingrese el puerto para conectarse al servidor MSSQL que configuró en su archivo freetds.conf. De forma predeterminada, el puerto definido es 1433.
- Nombre de la base de datos: Ingrese y seleccione la base de datos a la que se conectará.
-
EX:
muestras
-
Username: Ingrese el usuario con que se autenticará la conexión a su base de datos.
-
Password: Ingrese la contraseña para completar el proceso de autenticación.
- Conexión de prueba: Haga clic en este botón
Probar conexión
para obtener una respuesta a la solicitud de Scriptcase para averiguar si los parámetros ingresados son correctos.
Seguridad
Pestaña Seguridad, donde se definen las configuraciones de cifrado de la conexión.
Encrypt
Esta propiedad especifica si la comunicación con el servidor SQL debe cifrarse. Para habilitar el cifrado, debe establecer esta propiedad en “verdadero”. Esto garantiza que los datos enviados entre el cliente y el servidor estén protegidos mediante cifrado.
trustServerCertificate
Configúrelo en “verdadero” para especificar que el controlador no valida el certificado TLS/SSL del servidor.
Si es “verdadero”, se confía automáticamente en el certificado TLS/SSL del servidor cuando la capa de comunicación se cifra mediante TLS.
trustStore
La ruta (incluido el nombre del archivo) al archivo TrustStore del certificado. El archivo trustStore contiene la lista de certificados en los que confía el cliente.
Cuando esta propiedad no se especifica o se establece en nula, el controlador se basa en las reglas de consulta de fábrica del administrador de confianza para determinar qué almacén de certificados utilizar.
trustStorePassword
La contraseña utilizada para verificar la integridad de los datos de TrustStore.
Si la propiedad TrustStore está establecida pero la propiedad TrustStorePassword no está establecida, no se verifica la integridad de TrustStore.
hostnameInCertificate
El nombre de host que se utilizará para validar el certificado TLS/SSL de SQL Server.
Esta propiedad le permite especificar el nombre de host esperado en el certificado del servidor SQL. Esto es útil para garantizar que la conexión solo se realice al servidor correcto y no a un servidor malicioso que pueda estar utilizando un certificado no válido.
Nota: Esta propiedad se utiliza en combinación con las propiedades encrypt/authentication y la propiedad trustServerCertificate. Esta propiedad afecta la validación del certificado si la conexión utiliza cifrado TLS y trustServerCertificate está configurado en “falso”. Asegúrese de que el valor pasado a hostNameInCertificate coincida con el nombre común (CN) o el nombre DNS en el nombre alternativo del sujeto (SAN) en el certificado del servidor para que una conexión TLS sea exitosa. Para obtener más información sobre la compatibilidad con el cifrado, consulte Comprender la compatibilidad con el cifrado.
Filtrar
Al acceder a esta pestaña, puede configurar qué elementos de la base de datos se mostrarán en la conexión, dependiendo del propietario o no.
Mostrar
Permite la conexión para ver tablas, vistas, tablas del sistema y procedimientos según los elementos seleccionados por el usuario. Por defecto, los elementos Table y Views ya están seleccionados por Scriptcase.
-
Tablas: Al seleccionar esta opción, se mostrarán las tablas en su base de datos. * Por defecto, Scriptcase habilita esta opción .
-
Vistas: Al seleccionar esta opción, se mostrarán las vistas de su base de datos. * Por defecto, Scriptcase habilita esta opción .
-
Tablas del sistema: Al seleccionar esta opción, se mostrarán las tablas del sistema de su base de datos.
-
Procedimientos: Al seleccionar esta opción, se mostrarán los procedimientos de su base de datos.
Busquedas
Le permite definir qué tablas y propietarios se muestran.
- Tablas: Puede definir en esta opción qué tablas se mostrarán. La configuración puede contener un
PREFIX %%
o el nombre de las tablas para mostrar. * Por defecto, Scriptcase deja esta opción vacía .- EX:
- EX:
-
Propietario: Informar al usuario que ve las tablas informadas para su visualización. * El usuario debe estar en mayúscula como en el ejemplo anterior .
-
View: Elija si se muestran las tablas para el propietario informado.
NOTA: Al usar el filtrado de tablas, elimina las tablas innecesarias para su proyecto y mejora el rendimiento de su conexión de base de datos.
Avanzado
En esta pestaña, tiene acceso a configuraciones específicas para la conexión. La configuración realizada en esta sesión afecta la visualización de datos y el rendimiento de la aplicación.
-
Separador decimal: Seleccione el tipo de separador para registros decimales, entre coma y punto. * Por defecto, el punto
.
se selecciona como separador . -
Conexión persistente: Defina si las conexiones terminarán después de la ejecución de sus scripts en las aplicaciones Scriptcase. * Por defecto, Scriptcase deshabilita esta opción .
-
Utilice el esquema antes del nombre de la tabla: Defina si el esquema de la base de datos se mostrará antes que los nombres de la tabla. * Por defecto, Scriptcase habilita esta opción .
SSH
Aquí están las opciones de SSH disponibles en la imagen y sus descripciones relacionadas con la conexión a la base de datos:
Utilice SSH
Habilita o deshabilita el túnel SSH para la conexión con la base de datos. Cuando está activado, la conexión a la base de datos se enruta a través del servidor SSH.
Servidor SSH
La dirección IP o el nombre del host del servidor SSH que se utilizará para el túnel. Esta es la máquina que actuará como un puente para acceder a la base de datos de forma segura.
Puerto SSH
El puerto utilizado para conectarse al servidor SSH. El puerto predeterminado de SSH es 22, a menos que se haya configurado de otra manera en el servidor.
Usuario SSH
El nombre de usuario utilizado para la autenticación en el servidor SSH. Este usuario debe tener permisos para establecer una conexión SSH.
Archivo de certificado privado
El archivo de clave privada utilizado para la autenticación, en caso de que el servidor SSH requiera autenticación basada en clave en lugar de contraseña.
Puerto local para reenvío
El puerto local en la máquina cliente que se utilizará para reenviar el tráfico de la base de datos a través del túnel SSH. Este puerto actúa como un puente entre el cliente de la base de datos y la base de datos remota.
Servidor de base de datos desde SSH
El nombre del host o la dirección IP del servidor de base de datos visto desde el servidor SSH. Esto es necesario cuando la base de datos solo es accesible dentro de la red del servidor SSH.
Puerto de base de datos desdede SSH
El puerto del servidor de base de datos que será accesible a través del túnel SSH. Este puerto debe coincidir con el puerto de escucha del servicio de base de datos.
¿Preguntas o problemas de conexión? Contacta con nuestro soporte en caso de problemas de conexión o preguntas sobre esta base de datos.