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

System.AccessViolationExceptionに関して

環境/言語:[XP,C#,Net2.0]
分類:[.NET]

以下のソースコードでコマンド実行時にエラーが発生して困っております。
イメージデータをデータベースにUPしようとすると、必ずエラーが発生します。
普通のデータはUP可能。

try
{
//クエリー作成
OdbcCommand command = new OdbcCommand(sql,con);
//パラメータ設定
command.Parameters.AddRange(new OdbcParameter[] {
new OdbcParameter("cmdImg",OdbcType.Binary)});
command.Parameters["cmdImg"].Value = ImageData; //Imageのサイズ:34867
//実行
command.ExecuteNonQuery(); ※ここで例外発生
}
catch(System.AccessViolationException ex)
{
Console.WriteLine(ex.Message);
}

ただこのエラーが発生するのは、50台のPCの内1台だけで、他のPCからは
エラーが発生せずデータベースに画像データが保存されます。
50台のPCは使っているパーツ以外の環境はすべて同じです(OS XP)。

【エラー内容】
保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。

このエラーに関してお分かりのかたいましたら、ご連絡ください。

以上よろしくお願いします。
■No19711に返信(おばQさんの記事)
> ただこのエラーが発生するのは、50台のPCの内1台だけで、他のPCからは
> エラーが発生せずデータベースに画像データが保存されます。
> 50台のPCは使っているパーツ以外の環境はすべて同じです(OS XP)。
>
> 【エラー内容】
> 保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。
>
> このエラーに関してお分かりのかたいましたら、ご連絡ください。

データプロバイダが最新でない可能性があります。
AccessViolationException の多くはアンマネージド部位の不具合から起きています。

どの DBMS に接続しにいっているかわかりませんが、適切な Connection, Command を使うことで回避できることもあります。
> どの DBMS に接続しにいっているかわかりませんが、適切な Connection, Command を使うことで回避できることもあります。

DBMSはレアなFileMaker8です。
ODBCドライバーを再インストールしたら直りました。

有難う御座いました。



■No19715に返信(じゃんぬねっとさんの記事)
> ■No19711に返信(おばQさんの記事)
>>ただこのエラーが発生するのは、50台のPCの内1台だけで、他のPCからは
>>エラーが発生せずデータベースに画像データが保存されます。
>>50台のPCは使っているパーツ以外の環境はすべて同じです(OS XP)。
>>
>>【エラー内容】
>>保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。
>>
>>このエラーに関してお分かりのかたいましたら、ご連絡ください。
>
> データプロバイダが最新でない可能性があります。
> AccessViolationException の多くはアンマネージド部位の不具合から起きています。
>
> どの DBMS に接続しにいっているかわかりませんが、適切な Connection, Command を使うことで回避できることもあります。
解決済み!

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