sql >> Databáze >  >> RDS >> Sqlserver

Jak nakonfigurovat Microsoft® ODBC Driver 11 pro SQL Server® na RedHat Linux s PHP

Níže jsou uvedeny kroky k instalaci, konfiguraci a zahájení používání ovladače Microsoft SQL Server ODBC Driver pro Linux a jeho používání z PHP – předpokládá se, že již máte SQL Server dostupný a nakonfigurovaný pro přijímání připojení přes TCP/IP, a také že máte určité znalosti s Linuxem. Nejprve musí být SQL Server (a příslušná databáze) nakonfigurován pro Windows a SQL Server Authentication. V případě změny to vyžaduje restartování služby SQL Server. Kromě toho musí mít server také povoleno připojení TCP/IP s definovaným statickým portem (budu používat výchozí hodnotu 1433) a firewall na hostiteli pro SQL Server musí umožňovat připojení k SQL Serveru na statickém portu.

Načtěte potřebné moduly:

  1. Spuštěním následujícího příkazového řádku odeberte předchozí instalace.

     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. Chcete-li nainstalovat nové balíčky, spusťte následující příkazový řádek (Instalující uživatel musí mít ve výchozím nastavení oprávnění k zápisu do adresáře /opt.)

    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. Přidejte tyto dva řádky do /etc/httpd/conf/httpd.conf

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

Načíst unixODBC

  1. Přejděte na stránku http://www.unixodbc.org/ .

  2. Klikněte na odkaz Stáhnout (unixODBC-2.3.0) na levé straně stránky.

  3. Klikněte na odkaz Stáhnout na další stránce a uložte soubor do složky '~/Download'

  4. Na počítači se systémem Linux spusťte následující příkaz:

    cd ~/Downloads/
    
    tar xvzf unixODBC-2.3.0.tar.gz
    
  5. Přejděte do adresáře unixODBC-2.3.0.

    cd unixODBC-2.3.0/
    
  6. Na příkazovém řádku zadejte následující příkaz:

    CPPFLAGS="-DSIZEOF_LONG_INT=8"
    
  7. Na příkazovém řádku zadejte následující příkaz:

    export CPPFLAGS
    
  8. Na příkazovém řádku zadejte následující příkaz:

     ./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. Na příkazovém řádku (přihlášeni jako root) zadejte následující příkaz

    make
    

    a stiskněte enter a poté

    make install
    

    a stiskněte enter.

Nainstalujte Microsoft® ODBC Driver 11

  1. Spusťte následující řadu příkazů,

     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
    

    a stiskněte enter a poté

     cd  msodbcsql-11.0.2270.0
    

    a stiskněte enter a poté

     ./install.sh install --lib-dir=/usr/local/lib64 --accept-license
    
     odbcinst -q -d -n "SQL Server Native Client 11.0"
    
  2. Nyní upravte /etc/odbc.ini a přidejte sekci jako je tato (změňte [adresu serveru] na IP databázového serveru):

    [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. Uložte jej a ukončete editor. Na příkazovém řádku zadejte:

    isql -v <DSN Name> <sql server authentication user name> <password>
    
  4. Dále provedeme tři příkazy z shellu. (každá z nich může trvat až 15 sekund). Třetí restartuje webový server Apache.

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

    pokud byla instalace úspěšná, měli byste vidět něco takového:

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



  1. Zkopírujte data z jednoho pole do druhého na každém řádku

  2. Lze SQLExpress 2005 a 2008 nainstalovat na stejný počítač bez problémů?

  3. PHP PDO ignoruje volbu ATTR_TIMEOUT pro MySQL, když server není dostupný

  4. Jak získat ekvivalent příkazu postgres 'nth_value' v pyspark Hive SQL?