sql >> データベース >  >> RDS >> Sqlserver

PDOODBCを介してPHPをMSSQLに接続します

    設定する必要のある構成ファイルがいくつかあります。 /etc/odbc.ini/etc/odbcinst.ini および/etc/freetds/freetds.conf (これらの場所はUbuntu 12.04で有効であり、おそらくほとんどの* nixで正しいです。)

    unixodbcをインストールする必要があります およびfreetds (CentOSのパッケージ名がわからない)。 Ubuntuでは、これはapt-get install unixodbc tdsodbcになります。 。

    これらのインストールについては、この質問を参照してください。YumPackageManagerを介してFreeTDSをインストールできません

    /etc/odbc.ini(このファイルは空の場合があります)

    # Define a connection to a Microsoft SQL server
    # The Description can be whatever we want it to be.
    # The Driver value must match what we have defined in /etc/odbcinst.ini
    # The Database name must be the name of the database this connection will connect to.
    # The ServerName is the name we defined in /etc/freetds/freetds.conf
    # The TDS_Version should match what we defined in /etc/freetds/freetds.conf
    [mssql]
    Description             = MSSQL Server
    Driver                  = freetds
    Database                = XXXXXX
    ServerName              = MSSQL
    TDS_Version             = 7.1
    

    /etc/odbcinst.ini

    # Define where to find the driver for the Free TDS connections.
    # Make sure you use the right driver (32-bit or 64-bit).
    [freetds]
    Description = MS SQL database access with Free TDS
    Driver      = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
    #Driver      = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
    Setup       = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
    UsageCount  = 1
    

    /etc/freetds/freetds.conf(または/etc/freetds.confにあります)

    # The basics for defining a DSN (Data Source Name)
    # [data_source_name]
    #       host = <hostname or IP address>
    #       port = <port number to connect to - probably 1433>
    #       tds version = <TDS version to use - probably 8.0>
    
    # Define a connection to the Microsoft SQL Server
    [mssql]
        host = XXXXXX
        port = 1433
        tds version = 7.1
    

    tds version = 7.1を変更する必要がある場合があります MSSQLのバージョンに応じて上記の行。

    これらの変更を行った後、apacheを再起動する必要があります。

    PHPコードでは、次のようにPDOオブジェクトを作成します。

    $pdo = new PDO("dblib:host=mssql;dbname=$dbname", "$dbuser","$dbpwd");
    

    ユーザー名は次の形式である必要があることに注意してください:domain\username

    また、phpinfo()を実行すると機能することがわかります。 ページで「freetds」を検索すると、ライブラリバージョンとしてfreetdsがリストされたmssqlセクションが表示されます。



    1. Oracle10gでピボット

    2. xp_cmdshellへの実行権限の取得

    3. MariaDBで重複する行を削除する2つの方法(主キーを無視します)

    4. Oracleの日付から年を取得する2つの関数