none
x64環境下でのDB接続で困っています。 RRS feed

  • 質問

  • 初めて投稿いたします。

    以下の環境下で、データベース接続を行おうと試みていますが、全然接続できなくて困っています。

    OS:Windows7 Professional 64bit

    DB:MSAccess2010(x64ver) で作成したaccdbファイル

    開発環境:Visual Studio 2008 Professional Edition

     

    以下のようなメッセージが出力されて、接続ができません。

    'System.Data.OleDb.OleDbException'のハンドルサれていない例外がSystem.Data.dllで発生しました。

    追加情報:インストール可能なISAMドライバーが見つかりませんでした。

    ソリューションのビルドは通り、アプリケーションの起動は確認しています。

    いざ、DB接続を行おうとすると、うまく動作しないような状況です。

    構成マネージャーのプラットフォームはx64にしております。

    ソースコードは以下のとおりです。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.OleDb;

    namespace dbconnect
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void btnShowSearch_Click(object sender, EventArgs e)
            {
                OleDbConnection cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\\DB\\testdb.accdb");
                cn.Open();
                cn.Close();

            }
        }
    }

     

    よろしくお願いします。

    2011年12月4日 6:19

回答

すべての返信

  • エラーメッセージとしては、Windows(x64) + Access(x64) + アプリケーション(x86) で起動した状態におなじものがでます。

    試しに、クリックイベントの先頭で MessageBox.Show(IntPtr.Size.ToString()) なんぞを動かしてみて、きちんと 8 が表示されていますか?

     

    2011年12月4日 7:11
  • さっそくのご返信ありがとうございます。

    上記命令を動作させてみましたが、8が表示されました。

    まずは、ご報告まで

    2011年12月4日 7:17
  • 接続文字列は正しいでしょうか? 以前同じような話しがありました。

    インストール可能な ISAM ドライバが見つかりませんでした。が実行時出力される。
    http://social.msdn.microsoft.com/Forums/ja-JP/aspnetja/thread/90a2a9bf-7c17-4243-a66d-c65f27b30262


    • 編集済み SurferOnWww 2011年12月4日 7:49 脱字追加
    • 回答としてマーク 山本春海 2011年12月7日 8:42
    2011年12月4日 7:45
  • 接続文字列は正しいでしょうか? 以前同じような話しがありました。

    フォーラムに写す時のミスだと良いのですが、

    > ;DataSource=C:\\DB\\testdb.accdb

    Data と Source の間にスペースがいりますが、実際のソースではちゃんとはいっていますか?

     

    • 回答としてマーク 山本春海 2011年12月7日 8:42
    2011年12月4日 8:09
  • K. Takaokaさま、SurferOnWwwさま、ありがとうございました。


    この程度のことで、悩んでいたとは・・・申し訳ございません。

    Data と Sourceの間にスペースが抜けておりました。

    とりあえず、接続時にエラーはでなくなりました。

    おそらく、DBアクセス自体も問題ないと思います。

    ありがとうございました。

     

     

    2011年12月4日 8:23