sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo configurar el controlador ODBC 11 de Microsoft® para SQL Server® en RedHat Linux con PHP

A continuación se encuentran los pasos para instalar, configurar y comenzar a usar el controlador ODBC de Microsoft SQL Server para Linux, y usarlo desde PHP; se supone que ya tiene SQL Server disponible y configurado para aceptar conexiones a través de TCP/IP, también que tiene cierta familiaridad. con Linux. Primero, el servidor SQL (y la base de datos correspondiente) debe configurarse para la autenticación de Windows y SQL Server. Esto requiere un reinicio del servicio de SQL Server si se modifica. Además, el servidor también debe tener conexiones TCP/IP habilitadas con un puerto estático definido (usaré el predeterminado de 1433), y el firewall en el host para SQL Server debe permitir conexiones a SQL Server en el puerto estático.

Cargue los módulos necesarios:

  1. Ejecute la siguiente línea de comando para eliminar instalaciones anteriores.

     yum remove php httpd php-odbc php-pear.noarch php-pecl-apc php-xml php-xmlrpc php-tidy     php-intl php-imap php-pecl-memcache glibc libuuid1 krb5 openssl gcc unixodbc
    
  2. Para instalar nuevos paquetes, ejecute la siguiente línea de comando (el usuario que realiza la instalación debe tener privilegios de escritura en el directorio /opt de forma predeterminada).

    yum install php httpd php-odbc php-pear.noarch php-pecl-apc php-xml php-xmlrpc php-tidy php-intl php-imap php-pecl-memcache glibc libuuid1 krb5 openssl gcc unixodbc
    
  3. Agregue estas dos líneas a /etc/httpd/conf/httpd.conf

    SetEnv ODBCSYSINI /etc
    
    SetEnv ODBCINI /etc/odbc.ini
    

Cargar unixODBC

  1. Vaya a http://www.unixodbc.org/ .

  2. Haga clic en el enlace Descargar (unixODBC-2.3.0), en el lado izquierdo de la página.

  3. Haga clic en el enlace Descargar, en la página siguiente, y guarde el archivo en la carpeta '~/Descargar'

  4. En su computadora Linux, ejecute el siguiente comando:

    cd ~/Downloads/
    
    tar xvzf unixODBC-2.3.0.tar.gz
    
  5. Cambie al directorio unixODBC-2.3.0.

    cd unixODBC-2.3.0/
    
  6. En un símbolo del sistema, escriba el siguiente comando:

    CPPFLAGS="-DSIZEOF_LONG_INT=8"
    
  7. En un símbolo del sistema, escriba el siguiente comando:

    export CPPFLAGS
    
  8. En un símbolo del sistema, escriba el siguiente comando:

     ./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE
    
  9. En un símbolo del sistema (iniciado sesión como raíz), escriba el siguiente comando

    make
    

    y presione enter, y luego

    make install
    

    y presiona enter.

Instalar el controlador ODBC 11 de Microsoft®

  1. Ejecute la siguiente serie de comandos,

     wget http://download.microsoft.com/download/B/C/D/BCDD264C-7517-4B7D-8159- C99FC5535680/RedHat6/msodbcsql-11.0.2270.0.tar.gz
    and press enter, and then
    
    
     tar xzvf msodbcsql-11.0.2270.0.tar.gz
    

    y presione enter, y luego

     cd  msodbcsql-11.0.2270.0
    

    y presione enter, y luego

     ./install.sh install --lib-dir=/usr/local/lib64 --accept-license
    
     odbcinst -q -d -n "SQL Server Native Client 11.0"
    
  2. Ahora edite /etc/odbc.ini y agregue una sección como esta (cambie [dirección del servidor] a la IP del servidor de su base de datos):

    [DSNname]
    Driver=SQL Server Native Client 11.0
    Description=My Sample ODBC Database Connection
    Trace=Yes
    Server=[server address]
    Port=1433
    Database=NSCDB_3
    
  3. Guárdelo y salga del editor. En un símbolo del sistema, escriba:

    isql -v <DSN Name> <sql server authentication user name> <password>
    
  4. A continuación, ejecutamos tres comandos desde el shell. (Estos pueden tardar hasta 15 segundos cada uno). El tercero reinicia el servidor web Apache.

    setsebool -P httpd_can_network_connect on
    setsebool -P httpd_can_network_connect_db on
    /etc/init.d/httpd restart
    

    si la instalación fue exitosa, debería ver algo como esto:

    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL>