Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como configurar o driver ODBC 11 da Microsoft® para SQL Server® no RedHat Linux com PHP


Abaixo estão os passos para instalar, configurar e começar a usar o driver ODBC do Microsoft SQL Server para Linux, e usá-lo a partir do PHP - pressupõe-se que você já tenha o SQL Server disponível e configurado para aceitar conexões sobre TCP/IP, além de ter alguma familiaridade com Linux. Primeiro, o SQL Server (e o banco de dados apropriado) deve ser configurado para Windows e Autenticação do SQL Server. Isso requer uma reinicialização do serviço SQL Server se alterado. Além disso, o servidor também deve ter conexões TCP/IP habilitadas com uma porta estática definida (estarei usando o padrão de 1433), e o firewall no host para o SQL Server deve permitir conexões com o SQL Server na porta estática.

Carregue os módulos necessários:

  1. Execute a seguinte linha de comando para remover instalações 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 novos pacotes, execute a seguinte linha de comando (o usuário instalador deve ter privilégios de gravação no diretório /opt por padrão.)
    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. Adicione essas duas linhas ao /etc/httpd/conf/httpd.conf
    SetEnv ODBCSYSINI /etc
    
    SetEnv ODBCINI /etc/odbc.ini
    

Carregar unixODBC

  1. Vá para http://www.unixodbc.org/ .

  2. Clique no link Download (unixODBC-2.3.0), no lado esquerdo da página.

  3. Clique no link Download, na próxima página, e salve o arquivo na pasta '~/Download'

  4. No seu computador Linux, execute o seguinte comando:
    cd ~/Downloads/
    
    tar xvzf unixODBC-2.3.0.tar.gz
    

  5. Mude para o diretório unixODBC-2.3.0.
    cd unixODBC-2.3.0/
    

  6. Em um prompt de comando, digite o seguinte comando:
    CPPFLAGS="-DSIZEOF_LONG_INT=8"
    

  7. Em um prompt de comando, digite o seguinte comando:
    export CPPFLAGS
    

  8. Em um prompt de comando, digite o seguinte 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. Em um prompt de comando (conectado como root), digite o seguinte comando
    make
    

    e pressione enter e, em seguida,
    make install
    

    e pressione enter.

Instale o driver ODBC 11 da Microsoft®

  1. Execute a seguinte série 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
    

    e pressione enter e, em seguida,
     cd  msodbcsql-11.0.2270.0
    

    e pressione enter e, em seguida,
     ./install.sh install --lib-dir=/usr/local/lib64 --accept-license
    
     odbcinst -q -d -n "SQL Server Native Client 11.0"
    

  2. Agora edite /etc/odbc.ini e adicione uma seção como esta (altere [endereço do servidor] para o IP do seu servidor de banco de dados):
    [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. Salve-o e saia do editor. Em um prompt de comando digite:
    isql -v <DSN Name> <sql server authentication user name> <password>
    

  4. Em seguida, executamos três comandos do shell. (podem levar até 15 segundos cada). O terceiro reinicia o servidor web Apache.
    setsebool -P httpd_can_network_connect on
    setsebool -P httpd_can_network_connect_db on
    /etc/init.d/httpd restart
    

    se a instalação foi bem sucedida, você deve ver algo assim:
    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL>