LocalDB のサポート

PHP ドライバーのダウンロード

LocalDB は、SQL Server の軽量バージョンで、SQL Server 2012 (11.x) から使用できるようになりました。 ここでは、LocalDB インスタンス内のデータベースに接続する方法について説明します。

解説

LocalDB のインストール方法や LocalDB インスタンスの構成方法など、LocalDB の詳細については、SQL Server 2012 (11.x) Express LocalDB に関するSQL Server オンライン ブックのトピックを参照してください。

要約すると、LocalDB では、次のことを行うことができます。

  • sqllocaldb.exe i を使用して既定のインスタンスの名前を検出できます。

  • AttachDBFilename 接続文字列キーワードを使用して、サーバーをアタッチするデータベース ファイルを指定できます。 AttachDBFilename を使用するときに、Database 接続文字列キーワードを使用してデータベース名を指定しなかった場合、データベースはアプリケーションの終了時に LocalDB インスタンスから削除されます。

  • 接続文字列では、次のように LocalDB インスタンスを指定します。 例として、サンプルの SQLSRV 接続文字列を次に示します。

    $conn = sqlsrv_connect( '(localdb)\\v11.0',
        array( 'Database'=>'myData'));
    
    $conn = sqlsrv_connect( '(localdb)\\v11.0',
        array('AttachDBFileName'=>'c:\\myData.MDF','Database'=>'myData'));
    
    $conn = sqlsrv_connect( '(localdb)\\v11.0',
        array('AttachDBFileName'=>'c:\\myData.MDF'));
    

    次に示すのは、サンプルの PDO_SQLSRV 接続文字列です。

    $conn = new PDO( 'sqlsrv:server=(localdb)\\v11.0;'
        . 'Database=myData', NULL, NULL);
    
    $conn = new PDO( 'sqlsrv:server=(localdb)\\v11.0;'
        . 'AttachDBFileName=c:\\myData.MDF;Database=myData ',
        NULL, NULL);
    
    $conn = new PDO( 'sqlsrv:server=(localdb)\\v11.0;'
        . 'AttachDBFileName=c:\\myData.MDF', NULL, NULL);  
    

必要に応じて、sqllocaldb.exe を使用して LocalDB インスタンスを作成できます。 また、sqlcmd.exe を使用して、LocalDB インスタンスのデータベースの追加と変更を実行できます。 たとえば、「 sqlcmd -S (localdb)\v11.0 」のように入力します。 (IIS で実行する場合、コマンド ラインで実行する場合と同じ結果を得るには、正しいアカウントで実行する必要があります。詳細については、「完全 IIS での LocalDB の使用、第 2 部: インスタンスの所有権」を参照してください。

次に示す接続文字列の例では、SQLSRV ドライバーを使用して、myInstance という名前の LocalDB 名前付きインスタンス内のデータベースに接続します。

$conn = sqlsrv_connect( '(localdb)\\myInstance',
    array( 'Database'=>'myData'));

次に示す接続文字列の例では、PDO_SQLSRV ドライバーを使用して、myInstance という名前の LocalDB 名前付きインスタンス内のデータベースに接続します。

$conn = new PDO( 'sqlsrv:server=(localdb)\\myInstance;'
    . 'database=myData', NULL, NULL);

LocalDB のインストール手順については、LocalDB のドキュメントを参照してください。 sqlcmd.exe を使用して LocalDB インスタンス内のデータを変更する場合、sqlcmd ユーティリティが必要です。

参照

サーバーへの接続