いつも大変お世話になっております。VB2005Express データーベースMSDE2000(2005ではありません)で開発しています。作成したmdfを客先で自動でMSDE2000に登録したいのですが、Googleなどで検索しても見つからず、投稿した次第です。mdfをC:\Program Files\Microsoft SQL Server\MSSQL\Dataにコピーしたあと、VB2005でMSDE2000に登録する命令を追加したいのですが、どなた様かお分かりになるかたがいらっしゃいましたらお教え願えませんでしょうか。またmdfは必ず、SQLサーバーのデータ専用のフォルダーにコピーしなくてはならないのでしょうか?MDBのように任意のフォルダーにおいておく事は不可能なのでしょうか。お忙しい中とは存じますが何卒、よろしくお願い致します。
申し訳ありません。一つ漏れていたのですが、ldfもコピーはしました。客先の方に手動で登録してもらうわけにいかず、どうしてもこの部分は自動にしなくてはならないようです。
こんばんは。sp_attach_dbシステムストアドプロシージャを使用すれば目的を達成できると思います。詳しい使い方については、下のリンクを参照してください。http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/tsqlref/ts_sp_ae-az_52oy.asp
アグリッパ様、有難う御座います。リンクを参照しました。そこにあったものを参考にVBのソースにコピーしてみたのですが、記述の時点でエラーになってしまいます。EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log何か記述箇所が違うのでしょうか?また、サーバーを操作するのにIDやパスワードを記述する必要はないのでしょうか?重ね重ね申し訳ありません。
お答え頂いた後に、SHELLも使って見ましたがやはりエラーでした。自分でも、引き続き、アタッチを調べて見ます。皆様お忙しい中、誠に申し訳ありません。
こんばんは。説明が足りなかったですね。sp_attach_dbはSQL Serverのストアドプロシージャですので、SqlCommandクラスなどを使用してSQL Serverに対して実行してください。
アグリッパ様、有難う御座います。これで前進することができます。
試そうとしたのですが、大事なことを質問するのを忘れていました。SqlCommandで記述する際にSQLサーバーに接続する必要があると思うのですが、SqlCn = New SqlClient.SqlConnectionSqlCn.ConnectionString = "data source=SERVER01;" & _ "initial catalog=master;" & _ "user id=sa& _ "Password=9999& _ "persist security info=True;"上記のようにいままでは接続文字を記述していたのですが、まだアタッチしていないのでinitial catalogが指定できないと思うのですが。
こんばんは。試してみればすむことではないでしょうか?もしやってみて例外などが発生したのならばそのエラーメッセージを記載してください。
アグリッパ様、大変ご面倒をお掛けしております。試す前に質問してしまい、申し訳ありませんでした。試して見たところやはりアタッチされていないので「ログイン'masterで要求されたデータベースを開けません。ログインは失敗しました。」というエラーになりました。接続が出来なければSQLCommandも記述できないのでどうしても先に進まなくなってしまいました。データベースをアタッチするとき、SqlCommandで記述のばあい、SQLへの接続は必須と思うのですが、記述が未だにわかりません。Initial Catalogの部分をどうしたらよいのでしょうか?お忙しい中、再三にわたり、誠に申し訳ありません。