2010.05.06

【情報】つくってナットクVisual Basicデータベースプログラミング

つくってナットクVisual Basicデータベースプログラミング

SQL Server 2005 Express Editionインストール時の注意

§名前付きインスタンス

SQL Server 2005 Express Editionは、インストール時のサーバの識別方法が標準設定で「名前付きインスタンス」になっています。

「名前付きインスタンス」は、データベースの接続に、

  <コンピュータ名>¥<名前>

といった書式でサーバを指定します。

標準では<名前>は「SQLEXPRESS」となっていて、たとえば「Nancy」という名前のコンピュータのSQL Serverに接続するなら、接続文字列を次のようにしなければなりません。

  ”Persist Security Info=False;Integrated Security=SSPI;” & _
  ”database=JuchuVb;server=NancySQLEXPRESS”

ネットワークを介さず自分自身(ローカルコンピュータ)に接続する場合でも、接続文字列に「(local)」または「localhost」を使用することはできません。

§既定のインスタンス

この本では、市販のSQL Sever 2005でも活用できるように、「既定のインスタンス」でサーバを識別する形式にしました。その場合、ネットワークを介さず自分自身(ローカルコンピュータ)に接続するなら、接続文字列に「(local)」または「localhost」が指定できます。

Visual Basic 2005 Express Editionのインストール時にSQL Server 2005 Express Editionも同時にインストールした場合、「名前付きインスタンス」が適用されます。そのため、この本で紹介している接続文字列(SqlConnectionのConnectionStringプロパティに設定する文字列)で、

  server=localhost

としている箇所を、

  server=<コンピュータ名>¥<名前>

という明示的なインスタンス名に書き換えてください。

§SQL Server(Express Edition)を別途インストールする

一方、Visual Basic 2005 Express Editionと同時にではなく、別途SQL Server 2005 Express Editionをインストールした場合は、インストールの途中で「インスタンス名」を尋ねるダイアログボックスが表示されます。ここで「既定のインスタンス」と「名前付きインスタンス」のどちらかを選べます。

このとき「既定のインスタンス」を選択しておけば、先述した接続文字列のサーバ指定に「(local)」または「localhost」という文字列が使えます。

サンプルのアプリケーションを複数のコンピュータでためす場合、「名前付きインスタンス」を設定していると接続文字列をコンピュータに併せて書き換える必要が生じます。そのため、SQL Server 2005 Express EditionをVsual Basic 2005 Express Editionとは別にインストールし、既定のインスタンスで識別できるよう設定することをお勧めします。

§コマンドラインツールによるデータベースの登録方法

この本のサンプルに添付したデータベース追加ツール「adddb.exe」では、接続文字列を「localhost」にしています。そのため、SQL Serverを名前付きインスタンスで識別する環境では、データベースとの接続エラーが発生します。ご注意ください。

そのような場合には、コマンドラインツールの「sqlcmd」を使用してサンプルデータベースをSQL Serverに登録できます。手順は次のとおりです。

  1. [スタート]ボタン→[プログラム]→[アクセサリ]→[コマンドプロンプト]メニューを選択する
  2. キーボードから「sqlcmd」と入力して[Enter]キーを押す
  3. AddExampleDb.sqlに記述されているSQL文を1行ずつ入力して[Enter]キーを押す
  4. キーボードから「exit」と入力して[Enter]キーを押す
  5. キーボードから「exit」と入力して[Enter]キーを押す

1)コマンドプロンプトが起動します
2)ssqlcmdのプロンプトが表示されます
3)2行目でデータベースファイル(拡張子.mdf)の場所を指定します。標準の状態では、サンプルデータベースは<C:¥Data¥Nattoku¥VbDb¥Database¥JuchuVbBase.mdf>にインストールされます。それ以外の場所にインストールした場合は、適宜正しいパスを入力してください
4)sqlcmdが終了します
5)コマンドプロンプトが終了します

この手順を実行した画面は、次のようになります。


  ———————————————————————–
  Microsoft Windows XP [Version 5.1.2600]
  (C) Copyright 1985-2001 Microsoft Corp.
  
  C:¥Documents and Settings¥taro>sqlcmd
  1> CREATE DATABASE JuchuVb
  2> ON PRIMARY (FILENAME = ‘C:¥Data¥Nattoku¥VbDb¥Database¥JuchuVbBase.mdf’)
  3> FOR ATTACH
  4> GO
  1> exit
  
  C:Documents and Settingstaro>
  ———————————————————————–