DOBON.NETプログラミング掲示板過去ログ
DB_SEC_E_AUTH_FAILEDエラーについて
題名: DB_SEC_E_AUTH_FAILEDエラーについて
著者: vox
日時: 2004/01/11 3:03:46
ID: 2120
この記事の返信元:
(なし)
この記事への返信:
[2121]
Re[1]: DB_SEC_E_AUTH_FAILEDエラーについて
vox
2004/01/11 3:33:12
[解決]
ツリーを表示
分類:[.NET]
いつもプログラミングの参考にさせていただいてます。
現在ADO.NETを使ったAccessへのmdbファイル接続を行っているのですが、
接続文字列を直接コードでプロパティに与えると、DBのOpen時に
「DB_SEC_E_AUTH_FAILEDがありません」というメッセージが表示されて
しまいます。この現象を見られたかた、または回避方法をご存知の方が
いらっしゃいましたら教えて頂けないでしょうか。
以下に、コードの例を書きますが、mdbファイルのパスはStringに
代入した後に、ConnectionString文字列に含めています。
※1接続文字列はウィザードで生成されたものをコピーして使用しています。
※2接続文字列は見やすいように「;」毎に改行しています。
開発環境
OS:WindowsXP Professional SP1
VS:VisualStudio.NET 2002
言語:VisualBasic
.NET Freamework:1.1
Access:Access2002
コード例:
Dim sDbPath AS String = "C:\DB.mdb"
Dim cn AS New Oledb.OleDbConnection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
Password="";
User ID=Admin;
Data Source=" & sDbPath & ";
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 Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;
Jet OLEDB:SFP=False"
cn.Open
以上ですが、よろしくお願いいたします。
題名: Re[1]: DB_SEC_E_AUTH_FAILEDエラーについて
著者: vox
日時: 2004/01/11 3:33:12
ID: 2121
この記事の返信元:
[2120]
DB_SEC_E_AUTH_FAILEDエラーについて
vox
2004/01/11 3:03:46
この記事への返信:
(なし)
ツリーを表示
■No2120に返信(voxさんの記事)
自己レスです。
DB_SEC_E_AUTH_FAILEDについてですが、コードで直接
接続文字列を書く場合、「設定値無し」の部分に
「""」では無くて、「""""」のように、エスケープ
シーケンスを使用なければなかったようです。
お気づきの方もいらっしゃったかと思いますが、
この点については盲目でした(汗)
先に書いたコードを修正するとこんな感じです。
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
Password="""";←ここと
User ID=Admin;
Data Source=" & sDbPath & ";
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 Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="""";←ここにエスケープシーケンス入れる。
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;
Jet OLEDB:SFP=False"
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
いつもプログラミングの参考にさせていただいてます。
現在ADO.NETを使ったAccessへのmdbファイル接続を行っているのですが、
接続文字列を直接コードでプロパティに与えると、DBのOpen時に
「DB_SEC_E_AUTH_FAILEDがありません」というメッセージが表示されて
しまいます。この現象を見られたかた、または回避方法をご存知の方が
いらっしゃいましたら教えて頂けないでしょうか。
以下に、コードの例を書きますが、mdbファイルのパスはStringに
代入した後に、ConnectionString文字列に含めています。
※1接続文字列はウィザードで生成されたものをコピーして使用しています。
※2接続文字列は見やすいように「;」毎に改行しています。
開発環境
OS:WindowsXP Professional SP1
VS:VisualStudio.NET 2002
言語:VisualBasic
.NET Freamework:1.1
Access:Access2002
コード例:
Dim sDbPath AS String = "C:\DB.mdb"
Dim cn AS New Oledb.OleDbConnection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;
Password="";
User ID=Admin;
Data Source=" & sDbPath & ";
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 Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;
Jet OLEDB:SFP=False"
cn.Open
以上ですが、よろしくお願いいたします。