DOBON.NET DOBON.NETプログラミング掲示板過去ログ

パスワードつき .mdb ファイルを開く方法

環境/言語:[Access 2000, Jet.OleDb.4.0]
分類:[.NET]

すいません。 1843 の続きです。
間違って「解決」チェックを入れてしまいましたので、再投稿いたします。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

通りすがりさん、こんにちは。
ありがとうございます。

> .NETは知りませんが、Microsoft.Jet.OLEDB.4.0;Data Source=C:\data.mdb;Persist Security Info=False:Database Password=password;
> ではダメなんでしょうか??VBのADOはこれですが・・・

"Persist Security Info=False" の後は ":" ではなく、 ";" ではないかと思いますが...。

"Persist Security Info=False" のあとを ";", ":" にする
"Database Password=password;" のあとを ";" をつける、つけない
の4通りで試してみたのですが、開けませんでした。

どうしたらよいのか、依然として分かりません。
どなたか、お手数ですが、もう少しヒントをいただけると助かります...。

よろしくお願いいたします。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
下のものが、最初に投稿したものになります。
-

お世話になります。
JetSQL を使って Access 2000 のデータベースにアクセスするアプリケーションを作っています。
下のような接続文字列なのですが...。

oleCnMain.ConnectionString = Microsoft.Jet.OLEDB.4.0;Data Source=C:\data.mdb;Persist Security Info=False

パスワードの設定された .mdb ファイルを開く方法が分かりません。
また、パスワードを設定する方法はありますでしょうか?

大変恐縮ですが、何卒ご回答願います。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
「通りすがりさん」さんからいただいたレスです
-

> oleCnMain.ConnectionString = Microsoft.Jet.OLEDB.4.0;Data Source=C:\data.mdb;Persist Security Info=False
.NETは知りませんが、Microsoft.Jet.OLEDB.4.0;Data Source=C:\data.mdb;Persist Security Info=False:Database Password=password;
ではダメなんでしょうか??VBのADOはこれですが・・・
再度、通りすがりです。
再来なので、本当の意味で通りすがりでは無くなってきましたが・・(^^;)

> どなたか、お手数ですが、もう少しヒントをいただけると助かります...。

先の返信でも記述しましたが、VBではパスワード付きMDBをOPENする場合は
下記の方法で行います。
Sub ADOOpenDBPasswordDatabase()
Dim cnn As NewADODB.Connection
cnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"DataSource=C:\nwind.mdb;Jet OLEDB:Database Password=password;"
cnn.Close
End Sub

.NETとVB6とでは違うんでしょうかね。(多分的外れ?・・)
通りすがりさんおはようございます。

> Sub ADOOpenDBPasswordDatabase()
> Dim cnn As NewADODB.Connection
> cnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "DataSource=C:\nwind.mdb;Jet OLEDB:Database Password=password;"
> cnn.Close
> End Sub

こちらの記述方法で無事操作することができるようになりました!
ありがとうございました。

またどこかで見かけたら(?)よろしくお願いいたします。
解決済み!
解決済みにレスをつけるのも失礼かもしれませんが、
ほとんどIDEにお任せでパスワード付mdbファイルを
発見しましたのでレスをいたします。

@dataadapterをツールボックスからフォームへドラッグアンドドロップ。
(mdbファイルにはパスワードを未設定にしておく。)
Adataadapterウィザードを終了させてOleDbConnectionを作成。
Bmdbファイルにパスワードを設定。
Cformの#Regionを開けるとOleDbConnection定義は以下のようになっているはず。
Me.OleDbConnection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=\フルパス\データベース.mdb;Mode=Share Deny None;Extended Properties="""";Jet" & _
" OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password" & _
"="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global P" & _
"artial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Pa" & _
"ssword="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=Fals" & _
"e;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica" & _
" Repair=False;Jet OLEDB:SFP=False"
Ddatasouse部分のMode=Share Deny None;を削除
EDatabase Password="""";部分の""""にパスワードを代入

これでとりあえずmdbファイルを開くことができるはずです。
検証用のアプリで今日成功したばかりですので、後々不具合
が発生するかも知れませんが、それはそれというということで。
まちがっていたらごめんなさい。
りきさん、こんにちは。

ありがとうございました。大変勉強になりました。

> 解決済みにレスをつけるのも失礼かもしれませんが、

いえ、そんなことありません。
これからも何かあれば是非よろしくお願いいたします。

それにしても、 ConnectionString を見ていて、自分は本当に何も知らないのだなぁ、
と思いました (^^;

今後とも精進いたします。
それでは、失礼いたします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板