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

DataContextでmdbに接続したい

環境/言語:[4.0]
分類:[.NET]

実行exeとmdbは同じディレクトリに配置しています。

以下DataContextのコードです。
class TableDataContext : DataContext
{
public static string DBConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='.\database1.mdb'";

public TableDataContext(string connectionString) : base(connectionString) { }
}

以下のコード部分でエラーとなります。
TableDataContext db = new TableDataContext(TableDataContext.DBConnectionString);

mdbには接続できないでしょうか。
■No31826に返信(ぽっぽさんの記事)
> 実行exeとmdbは同じディレクトリに配置しています。

exe を配置したフォルダ(例:Program Files配下)は、権限的に
読込/実行は出来ても、書込ができない可能性があります。
データは出来れば、別の場所に分けて配置した方が無難です。
(mdb への書込の場合、フォルダへの書込権限も要求されます)


> 以下DataContextのコードです。
DataContext(string) のコンストラクタでは無く、
DataContext(IDbConnection) のコンストラクタを利用してください。
http://msdn.microsoft.com/ja-jp/library/system.data.linq.datacontext.aspx

IDbConnection の箇所には、OleDbConnection クラスを渡すようにします。

http://social.msdn.microsoft.com/Forums/ja-JP/d9fd4cf1-dd2e-4857-990b-07b148f08505/linq-to-microsoft-access


ただし SQL Server 以外での利用においては機能制限も多いため、
対mdbなら、DAO や OLE DB でアクセスした方が無難であろうかと思います。
http://fujiih.at.webry.info/200809/article_3.html
http://somethingforthepain.blog22.fc2.com/blog-entry-33.html
すみません、遅れました。

無事接続することができました!
ありがとうございました。
解決済み!

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