none
microsoft.ace.oledb.12.0とmicrosoft.ace.oledb.16.0の違い RRS feed

  • 質問

  • 現状、Accessを使用しているシステムでmicrosoft.ace.oledb.12.0を使用しています。

    クライアント側:Access2016 サーバー側:Access Runtime 2016 

    使用するADOのバージョンを現状のままとするかアップグレードするか判断しなくてはならなく、確認させてください。

    microsoft.ace.oledb.12.0とmicrosoft.ace.oledb.16.0は何が違うのでしょうか。

    機能には変わりはなく、サポート期間が違うということなのでしょうか。

    恐れ入りますが、よろしくお願いいたします。

    2019年1月15日 5:54

回答

  • UG suzukiさん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    一般に、
    「microsoft.ace.oledb.12.0」は、「Microsoft Accessデータベースエンジン2010再配布可能」と共に使用され、Office 2010に対応しています。
    「Microsoft.ACE.OLEDB.16.0」は、「Microsoft Accessデータベースエンジン2016再頒布可能」と共に使用され、Office 2016に対応しています。
    このリンクhttps://www.microsoft.com/en-us/download/details.aspx?id=54920は、
    OLEDBを使用しているアプリケーション開発者であれば、ConnectionStringプロパティのProvider引数を“ Microsoft.ACE.OLEDB.12.0”に設定することを示しています。
    「Microsoft Accessデータベースエンジン2016再配布可能」と共に「microsoft.ace.oledb.12.0」を使用できるようです。

    どうぞよろしくお願いします。


    MSDN/ TechNet Community Support Haruka

    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、
    ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
    • 回答としてマーク UG suzuki 2019年1月24日 4:32
    2019年1月21日 6:30
    モデレータ
  • > microsoft.ace.oledb.12.0とmicrosoft.ace.oledb.16.0は何が違うのでしょうか。

    前者には 32-bit 版しかなくて、後者には 32/64-bit 版両方があることでしょうか。

    64-bit 版をインストールすると、以下の記事の画像にあるような Visual Studio から Access への接続ができない点が、開発の時に一番問題になるかと思います。

    Access 2007 の DB を利用するアプリ開発
    http://surferonwww.info/BlogEngine/post/2011/11/08/Development-of-application-which-uses-accdb-file-of-Access-2007.aspx

    さらに、32-bit 版の ACE と 64-bit 版の ACE は同じ PC 内で共存できないことは、開発と運用両方の面で問題になるかもしれません。(裏技的な方法で共存させる方法はあるそうですが、あくまで裏技)

    なお、前者は Office 2007 に同梱されている(2010 用は別にある)、もしくは以下のサイトから単独でダウンロードできるものです。

    2007 Office system ドライバ: データ接続コンポーネント
    https://www.microsoft.com/ja-jp/download/details.aspx?id=23734

    2007 用の ACE でアプリから Access にアクセスする際の Access 2010 以降に対して 100% コンパティビリティがあるかどうかは分かりません。(自分が知る限り、問題があったという話は聞かないですが)

    (Haruka6002 さんが紹介されたダウンロードサイトの説明「If you are an application developer using OLEDB, set the Provider argument of the ConnectionString property to “Microsoft.ACE.OLEDB.12.0”」は、たぶん、私が上に紹介した 2007 Office system ドライバの英語版ダウンロードサイトの記述をそのままコピペしたものと思います)
    • 回答としてマーク UG suzuki 2019年1月24日 4:32
    2019年1月21日 7:24

すべての返信

  • UG suzukiさん、こんにちは。フォーラムオペレーターのHarukaです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    一般に、
    「microsoft.ace.oledb.12.0」は、「Microsoft Accessデータベースエンジン2010再配布可能」と共に使用され、Office 2010に対応しています。
    「Microsoft.ACE.OLEDB.16.0」は、「Microsoft Accessデータベースエンジン2016再頒布可能」と共に使用され、Office 2016に対応しています。
    このリンクhttps://www.microsoft.com/en-us/download/details.aspx?id=54920は、
    OLEDBを使用しているアプリケーション開発者であれば、ConnectionStringプロパティのProvider引数を“ Microsoft.ACE.OLEDB.12.0”に設定することを示しています。
    「Microsoft Accessデータベースエンジン2016再配布可能」と共に「microsoft.ace.oledb.12.0」を使用できるようです。

    どうぞよろしくお願いします。


    MSDN/ TechNet Community Support Haruka

    ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、
    ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
    • 回答としてマーク UG suzuki 2019年1月24日 4:32
    2019年1月21日 6:30
    モデレータ
  • > microsoft.ace.oledb.12.0とmicrosoft.ace.oledb.16.0は何が違うのでしょうか。

    前者には 32-bit 版しかなくて、後者には 32/64-bit 版両方があることでしょうか。

    64-bit 版をインストールすると、以下の記事の画像にあるような Visual Studio から Access への接続ができない点が、開発の時に一番問題になるかと思います。

    Access 2007 の DB を利用するアプリ開発
    http://surferonwww.info/BlogEngine/post/2011/11/08/Development-of-application-which-uses-accdb-file-of-Access-2007.aspx

    さらに、32-bit 版の ACE と 64-bit 版の ACE は同じ PC 内で共存できないことは、開発と運用両方の面で問題になるかもしれません。(裏技的な方法で共存させる方法はあるそうですが、あくまで裏技)

    なお、前者は Office 2007 に同梱されている(2010 用は別にある)、もしくは以下のサイトから単独でダウンロードできるものです。

    2007 Office system ドライバ: データ接続コンポーネント
    https://www.microsoft.com/ja-jp/download/details.aspx?id=23734

    2007 用の ACE でアプリから Access にアクセスする際の Access 2010 以降に対して 100% コンパティビリティがあるかどうかは分かりません。(自分が知る限り、問題があったという話は聞かないですが)

    (Haruka6002 さんが紹介されたダウンロードサイトの説明「If you are an application developer using OLEDB, set the Provider argument of the ConnectionString property to “Microsoft.ACE.OLEDB.12.0”」は、たぶん、私が上に紹介した 2007 Office system ドライバの英語版ダウンロードサイトの記述をそのままコピペしたものと思います)
    • 回答としてマーク UG suzuki 2019年1月24日 4:32
    2019年1月21日 7:24
  • ご返答ありがとうございます。

    特段機能に違いがあるわけではないとのこと、承知いたしました。

    2019年1月24日 4:30
  • ご返答ありがとうございます。

    16.0には32bit版と64bit版があるというところに違いがあるとのこと承知いたしました。

    2019年1月24日 4:32