- PR -

C#とaccessの接続エラー

投稿者投稿内容
ポッキー
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2005-09-29 21:34
C#でaccessに接続しています。

プログラムは↓のように記述しています。
エラーは接続オープン時におきます。
 string strSql = "SELECT * FROM [T]";
 // 接続文字列
 string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\sample.mdb;Persist Security Info=False"
 OleDbConnection con = new OleDbConnection(strCon );
 con1.Open(); ←エラー発生場所
 OleDbDataAdapter DA1 = new OleDbDataAdapter(SQL1, con1);
 DataTable DT1 = new DataTable("t");
 DA1.Fill(DT1);
 con1.Close();

エラー内容は以下です。
 System.Data.OleDb.OleDbException:複数ステップのOLE DBの操作でエラーが
 発生しました。各OLE DBの状態の値を確認してください。作業は終了しません
 でした。

OLEDB_SERVICESレジストリもちゃんとしていました。
ちょっと前までは問題なく接続できていたので、
ますます原因が分らなく困っています。
教えてください。

以上、よろしくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-29 21:48
こんにちは、じゃんぬ です。

引用:

ポッキーさんの書き込み (2005-09-29 21:34) より:

ちょっと前までは問題なく接続できていたので、
ますます原因が分らなく困っています。


MDAC の セキュリティパッチとか最近あてませんでしたか?
接続文字列は合ってますね。


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ポッキー
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2005-09-29 23:50
やっぱり接続文字列は問題ないんですよね。
安心しました。
それにしても、特別なことは何にもやってないんですよね。
内部的な問題なのでしょうか・・・。

Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2005-09-30 07:36
引用:

 // 接続文字列
 string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:sample.mdb;Persist Security Info=False"
 OleDbConnection con = new OleDbConnection(strCon );
 con1.Open(); ←エラー発生場所
 


接続文字列は問題ないと思いますが念のために以下のように変更してみては
どうでしょうか。
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\sample.mdb;"

あと、最新のOleDBがインストールされているか確認してください。

※ C:の後のバックスラッシュ(\\)がうまく表示されませんね!

_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
trapemiya
大ベテラン
会議室デビュー日: 2005/07/30
投稿数: 102
投稿日時: 2005-09-30 08:20
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\sample.mdb;Persist Security Info=False";

下のように@が要りませんでしたっけ? (すみません。検証する時間がありません)
あと、Falseの後の;は付け忘れですよね。

string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\sample.mdb;Persist Security Info=False";

#あっ、貼り付けてわかった。バックスラッシュね。orz
#確実なのはサーバーエクスプローラからドラッグしてくると、接続文字列も自動的に作成されるので、それを参考にするといいと思います。

[ メッセージ編集済み 編集者: trapemiya 編集日時 2005-09-30 08:23 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-30 08:48
こんにちは、じゃんぬ です。

引用:

ポッキーさんの書き込み (2005-09-29 23:50) より:

それにしても、特別なことは何にもやってないんですよね。
内部的な問題なのでしょうか・・・。


すると、同一端末で先日まで動いていたということですか...
MDAC の問題かと思ったんですが...

# 接続文字列は MSDN ライブラリを見る限り問題ないように思えますが...


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
iStation
大ベテラン
会議室デビュー日: 2003/12/08
投稿数: 158
投稿日時: 2005-09-30 08:56
MDACのバージョンを確認しては...
_________________
IEEE-CSDP 2004-2007
ポッキー
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2005-09-30 11:25
MDACのバージョンは2.8でした。
MDACの2.6と2.7だと問題が起きるんですよね?
でも、正直、あまりMDACのことをよく理解していません。
同一マシンで動いてたっていうのも記憶違いなのかもしれません・・・。
MDACのバージョン、2.8も問題になるのでしょうか?
初心者ですみません。

スキルアップ/キャリアアップ(JOB@IT)