Feedback

Conexión con PDO DBLIB

En Scriptcase instalado en Linux, tenemos el siguiente controlador disponible para la conexión a MSSQL Server: PDO DBLIB. 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.

Configuración y habilitación de DBLIB PDO en Linux

IMPORTANTE: La instalación automática ya viene con el PDO BDLIB preconfigurado, solo necesita instalar FreeTDS y unixODBC para que pueda hacer la conexión.

1. Si no tiene habilitada la extensión puede instalarla con este comando desde la terminal: sudo apt-get install php8.1-pdo-dblib (también aplica para la instalación automática).

sudo apt-get install php8.1-pdo-dblib

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 add-apt-repository ppa:ondrej/php
sudo apt-get update

2. Dependiendo de su distribucion de linux, acceda al shell (terminal) con root e instale los siguientes paquetes:

Ubuntu\Debian RHEL\CentOS
sudo apt-get install unixodbc unixodbc-dev gcc nano wget make sudo yum install unixODBC unixODBC-devel gcc nano wget make

3. Descargue FreeTDS:

wget https://www.freetds.org/files/stable/freetds-0.95.95.tar.gz

4. Descomprimir el FreeTDS:

tar -zxf freetds-0.95.95.tar.gz

5. Ingrese en la carpeta FreeTDS:

cd freetds-0.95.95

6. Ejecute el siguiente comando para compilar e instalar FreeTDS:

sudo ./configure --with-tdsver=7.4 --with-unixodbc=/usr --disable-libiconv --disable-static --disable-threadsafe --enable-msdblib --disable-sspi --with-gnu-ld --enable-sybase-compat && make && make install

7. Dependiendo de su distribucion de linux, edite el archivo de configuración FreeTDS:

Ubuntu\Debian RHEL\CentOS
sudo nano /usr/local/etc/freetds.conf sudo vim /usr/local/freetds/freetds.conf

Y agregue la ip y el puerto de su servidor SQL por ejemplo:

[MSSQLServer]
host= 127.0.0.1  
port= 1433  
tds version= 7.0

8. 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 (DBLIB) 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

Creando una nueva conexión

o acceda al menú Base de datos> Nueva conexión.

Creando una 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.

Seleccionando la conexión a la base de datos

Conexión

Ingrese los parámetros para conectarse a su base de datos de Azure MSSQL Server de la siguiente manera:

Conectando a la base de datos

  • 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.

Probando la conexión de la base de datos

Seguridad

Pestaña Seguridad, donde se definen las configuraciones de cifrado de la conexión.

Seguridad de conexión a base de datos

  • Encrypt

    Esta propiedad especifica si la comunicación con el servidor SQL debe cifrarse. Para habilitar el encrypt, debe establecer esta propiedad en “true”. Esto garantiza que los datos enviados entre el cliente y el servidor estén protegidos mediante cifrado.

  • trustServerCertificate

    Configúrelo en “true” para especificar que el controlador no valida el certificado TLS/SSL del servidor.

    Si es “true”, 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.

Filtro

Al acceder a esta pestaña, puede configurar qué elementos de la base de datos se mostrarán en la conexión, según el propietario o no.

Filtrando la conexión a la base de datos

Mostrar


Permite a la conexión ver tablas, vistas, tablas del sistema y procedimientos en función de los elementos seleccionados por el usuario. De forma predeterminada, los elementos Tables y Views ya están seleccionados por Scriptcase.

  • Tablas: Al seleccionar esta opción, se mostrarán las tablas en su base de datos.
    • De forma predeterminada, Scriptcase habilita esta opción .
  • Vistas: Al seleccionar esta opción, se mostrarán las vistas de su base de datos.
    • De forma predeterminada, 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.

Búsquedas


Le permite definir qué tablas y propietarios se mostraran.

  • 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 que se mostrarán.
    • De forma predeterminada, Scriptcase deja esta opción vacía .
    • EX:

    Ejemplo de uso del prefijo


  • Propietario: Ingrese el usuario propietario de las tablas ingresaadas para su visualización.
    • El usuario debe escribirse en mayúscula como en el ejemplo anterior .
  • Ver: Elija si se muestran las tablas para el propietario ingresado.

NOTA: Al usar el filtrado de tablas, elimina tablas innecesarias para su proyecto y mejora el rendimiento de su conexión a la 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.

Configuración avanzada de conexión a la base de datos

  • Separador decimal: Seleccione el tipo de separador para registros decimales, entre coma y punto.
    • De forma predeterminada, el punto . se selecciona como separador .
  • Persistent Connection: Define si las conexiones se terminarán después de la ejecución de sus scripts en las aplicaciones de Scriptcase.
    • De forma predeterminada, 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 de los nombres de la tabla.
    • De forma predeterminada, Scriptcase habilita esta opción .

¿Preguntas o problemas de conexión?

Contacta con nuestro soporte en caso de problemas de conexión o preguntas sobre esta base de datos.