2012-03-15 5 views
0

OLEDBデータベースを.NET Frameworkに接続しようとしているときに、Windowsのバージョンが64ビットで動作しているときに、INSERT INTOステートメントで構文エラーが発生します。C#でOLEDBとODBCデータベースを接続する際にエラーが発生しましたか?

同じコードがWindows 32ビットで完全に正常に動作しています。

私はWindowsサイトで64ビットモデルのサポートを提供していません。

この問題の回避策はありますか?

string vSrc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\abhi.mdb"; 
OleDbConnection vconn = new OleDbConnection(vSrc); 
vconn.Open(); 

string vSname = TextBox1.Text; 
string vQuery = "insert into Table(Sname)values('"+vSname+"') "; 

OleDbCommand vcomm = new OleDbCommand(vQuery, vconn); 
vcomm.ExecuteNonQuery(); 
Label1.Text = "record save successfully"; 
vconn.Close(); 
+0

何窓..itがより生産的な答えを貸すために私たちの残りのために良いだろうコードを表示してください –

+2

をサポートしていません。ありがとうございました – MethodMan

+0

Abhishek:読みやすいようにコードのプレゼンテーションを修正しました。あなたはちょうどそれを読みにくいものに戻しました。どうして? – MPelletier

答えて

2

を見なければならない64ビットアクセスドライバに関するエラーがあります。 Microsoft.Jet.OLEDB.4.0プロバイダーは、64ビットの互換性がありません:

http://social.technet.microsoft.com/Forums/en/w7itproappcompat/thread/14041b74-6ca6-49be-af90-d8ff3f962724

+0

私はフォームアプリケーションではないWebサイトで働いています。 –

+0

@AbhishekAgrawal Webサイトがx64アプリケーションプール内のx64 IIS上で実行されている場合、同じ問題が発生します – ntziolis

関連する問題