アカウント名とパスワードを経由してアクセスするデータベースへの接続
-
20-08-2019 - |
質問
私は以下の宣言が働いている、データを編集するために、データベースへの接続の2種類の方法を使用しようとしている。
Dim rsConn As ADODB.Connection
rsConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Application.StartupPath & "\VFMS_DB.mdb;" _
& "Jet OLEDB:System Database=Security.mdw", "Ads", "1234")
が、今、私は以下の宣言で同じことをしたいが、私はメッセージ「NOT有効なアカウント名またはパスワードを取得しておく。
Dim conn As OleDbConnection
conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Application.StartupPath & "\VFMS_DB.mdb;" _
& "Jet OLEDB:System Database=Security.mdw;Database Account=Ads;Database Password=1234;")
それはこのため;Database Account=Ads;Database Password=1234;
正しいことではないのです。私はかなり確信して。私が試した;User ID=Ads;Database Password=1234;
も、それは最初の文のように見えるようにするのではなく、どちらも働いています。
誰が支援してくださいすることができます。 ありがとうございました。
解決
User ID
とPassword
キーワードの代わりに、Database Account
とDatabase Password
を使用してみてください
conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
& Application.StartupPath & "\VFMS_DB.mdb;" & _
"Jet OLEDB:System Database=Security.mdw;User ID=Ads;Password=1234;")
これは私が connectionstrings.com の上に見られる例に係るある。
他のヒント
connectionstrings.comするによれば、これは、Jet OLE DB 4.0の接続のための正しい接続文字列でありますユーザ名とパスワードを使用します:
プロバイダ= Microsoft.Jet.OLEDB.4.0;データ 出所= C:\ mydatabase.mdb;ジェット OLEDB:システムデータベース=のSystem.mdw;ユーザー ID = MYUSERNAME;パスワード= mypasswordという;
私はあなたの問題への実際の答えを知りませんが、ここでは混乱の可能性があることを指摘します。ジェット、データベースのパスワードとジェットユーザーレベルのセキュリティパスワードを使用して、「パスワード」の2種類があります。後者は、ユーザ名/パスワードのペアを持っている前者は、何のユーザ名(データベースが皆のための単一のパスワードを持っている)を含まない。
ジェットULSは、すべての回で、常に有効です。ジェットとデフォルトの設定では定義されていないパスワードを持つ「管理者」のユーザー名です。誰かが管理者アカウントのパスワードを定義している場合、あなたはそれを提供、または、パスワードを知っているアカウントを使用する必要があります。
すべての最後に、ジェットULS情報は、通常のSystem.mdwという名前の、ワークグループファイルに保存され、そしてあなたがアクセスしようとしているMDBのセキュリティ設定が保存されている場合は、あなたの接続文字列でそれを指定する必要があるかもしれませんシステムのデフォルトのワークグループファイルとして定義されたもの以外のワークグループファイルインチ私は、ADO / OLEDBは、レジストリのデフォルトのワークグループ場所の設定とどのように相互作用するかどうか分からないので、私はパラメータ名がそれを何であるかを発見し、すべてのケースで明示的に指定することをお勧めしたい。
あなたはuser id
で試してみましたとばかりpassword
?
簡単な方法:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=myPassword