- - PR -
SqlConnection.ConnectionStringプロパティでのDataSource指定
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-01-05 01:38
お世話になります。
SQL Server2005 Expressを使用しています。 今まで、ConnectionStringの接続文字列をInitial Catalogで接続していましたが、これが何故か接続できなくなって、しまいました。 そこで、試しにAttachDbFilenameで接続してみたところ、問題なく接続できました。 Initial Catalogでの接続とAttachDbFilenameでの接続との意味を理解していないため、なぜこんなことになったのか不思議なのですが、この辺りについてご教授いただけないでしょうか? (DataBaseフォルダのTestデータベースに接続して失敗) SqlConnection cn = new SqlConnection(); cn.ConnectionString = "Data Source=.\\\\SQLEXPRESS;Initial Catalog=D:\\\\DataBase"+ "\\\\Test.mdf;Integrated Security=True"; 今は理由が分からないので、仕方なくInitial CatalogとAttachDbFilenameとを試させてデータベースに接続させています。 ちなみに、どこかのサイトで、Initial Catalogを使うのが一般的とのコメントを見たことがありますが、その意味もわからぬままでいます。 よろしくお願いいたします。 | ||||||||
|
投稿日時: 2008-01-05 08:43
データベースがデタッチされているからでしょう。 Test.mdfをアタッチすると接続できるのでは。
Initial Catalogは、SQL Server/SQL Server Expressにデータベースがアタッチされているときに使用します。 AttachDbFilenameはランタイム時にデータベースをアタッチします。 したがって、AccessのMDBのようにデータベースを任意のフォルダ(App_Data)に格納 しておくことができます。 さらに、「|DataDirectory|」を使用すると自動的に「App_Data」の物理パスを 生成してくれますので AttachDbFilename=|DataDirectory|Test.mdf;.... にように宣言できます。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||||||
|
投稿日時: 2008-01-05 08:59
さかもとと申します。
>>Initial Catalogを使うのが一般的とのコメントを おそらくこれは以下のURLのようなことが理由だと思われます。 http://www.hollytown.net/top/forums/50/ShowPost.aspx 開発時のみExpressで本番ではそれより上のエディションを利用するということであれば、AttachDbFilenameは利用しない方が無難かもしれません。 なぜ急に接続できなくなったかはわかりませんが、initial catalogキーワードを使うということはSQLServerのあるインスタンス内の1つのDBに接続することになるかと思います。 あるインスタンスにたとえばDBが2つあったらどちらが既定の接続先か?を指定するキーワードです。 インスタンス名が「sakamoto」の場合で、「gahaku」というDBに接続する場合 Data Source=.\sakamoto;Initial Catalog=gahaku; となります。 つまり論理データベース名を「明確に指定する」キーワードです。 >>cn.ConnectionString >>= "Data Source=.\\\\SQLEXPRESS;Initial Catalog=D:\\\\DataBase"+ >>"\\\\Test.mdf;Integrated Security=True"; とInitial Catalogキーワードにディレクトリ指定をしてますが、これをやったことないのですが、普通はディレクトリ指定はAttachDbFilenameキーワードで利用しますよね?(できるんでしょうか?) _________________ ------------------------------------------ 拝啓、さかもとと申します。 拝啓、さかもとと申します♪ [ メッセージ編集済み 編集者: さかもと 編集日時 2008-01-05 09:00 ] | ||||||||
|
投稿日時: 2008-01-05 19:12
ありがとうございます。
おかげさまで、Initial Catalogでの接続もできましたし、 AttachDBFileNameの使用制限も理解できました。 関連事項もご教授いただいたおかげで、安心して操作できるようになりました。 |
1