Access をクラウドで運用する方法

アクセス(Microsoft Access)を Azure SQL Database を利用してクラウドで運用するための、情報、技術などを発信していくサイトです。

SSMA for Access 実行エラー

SQL Server Migration Assistant (SSMA)  for Access

SSMA for Access は、Access のデータベースファイルを SQL Azure に変換するツールツールです。このつーるを使うと、効率よくAccess データベースを SQL Azure にセットすることができます。

f:id:muramoto1041:20180527141755p:plain

Windows Server 2008 にセットしているのですが、下記のようなメッセージ が、表示されます。

f:id:muramoto1041:20180527134044p:plain

 

For your tables to work with SQL Azure,you need to install a newer SNAC provider.For more information please click on this link

テーブルをSQL Azureで使用するには、新しいSNACプロバイダをインストールする必要があります。詳細については、このリンクをクリックしてください。

 

現在インストール済みのドライバーは、SQL Server Native Client 10.0 (Microsoft SQL Server 2008 Native Client )です。

つまり、SQL Server Native Client 10.0 は、SQL Azure に対応していないということのようです。

f:id:muramoto1041:20180527135334p:plain

 

SQL Server Native Client 11.0 x86 (Microsoft SQL Server 2012 Native Client)をインストールしようとすると下記のエラー が、発生します。

 

SQL Server Native Client は、OSのビット数に合わせてインストールされるようです。今行っているServerは、64ビットのため、このようなエラーが発生します。

f:id:muramoto1041:20180527135551p:plain

以前は、32/64ビットの区別なくインストールしていました。インストール時に勝手に判定して、インストールされていました。

 

現在では、32/64ビットは区別してインストールするようになっています。ダウンロード時に環境に合わせてダウンロードしてください。

f:id:muramoto1041:20180528184717p:plain

 

今回セットアップしているサーバーが、Windows Server 2008 なので、旧ドライバーsqlnativeclient 11.0 をセットアップします。

自動的に判定されて、64ビットバージョンなのだと思います。 

f:id:muramoto1041:20180527135824p:plain

 

SQL Server Native Client 11.0(Microsoft SQL Server 2012 Native Client)が、セットアップされました。

f:id:muramoto1041:20180527135913p:plain

 

SSMA 実行時のエラー 

次に発生したのは、下記のエラーです。

 

Access Object Collector error: Database
CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80040154。

 

This error may be a result of running SSMA as 64-bit application while having only 32-bit connectivity components installed or vice versa. You can run 32-bit SSMA application if you have 32-bit connectivity components or 64-bit SSMA application if you have 64-bit connectivity components, shortcut to both 32-bit and 64-bit SSMA can be found under the Programs menu. You can also consider updating your connectivity components from http://go.microsoft.com/fwlink/?LinkId=197502.
An error occurred while loading database content.

このエラーは、SSMAを64ビットアプリケーションとして実行した結果、32ビットの接続コンポーネントのみをインストールした場合、またはその逆の場合があります。 32ビットの接続コンポーネントがある場合は32ビットSSMAアプリケーションを実行し、64ビットの接続コンポーネントを使用する場合は64ビットのSSMAアプリケーションを実行し、32ビットおよび64ビットSSMAのショートカットを[プログラム]メニューに表示できます。 また、http://go.microsoft.com/fwlink/?LinkId=197502から接続コンポーネントを更新することも検討できます。
データベースコンテンツの読み込み中にエラーが発生しました。 

 

このエラーは、Access が、32ビットアプリケーションでインストールされていて、SSMA が、64 ビットアプリケーションとして実行した場合に、発生するようです。

 

Access を 64ビットアプリケーションとしてインストールすることにより、解決しました。

 

[結論]

64ビットのOSの場合は、SSMA、Native Client、Accessは、すべて 64ビットでセットアップしないといけません。