インポートウィザードを使用してExcelインポートタスクを作成および実行できるサーバーがあります。そのサーバーで開発しているVisual Studio 2010 Integration Servicesパッケージを使用して、そのプロセスを自動化しようとしています。
この問題は、パッケージを設計しようとしたときに発生します。 Excel接続を追加し、ローカルディスク上のExcelファイル(インポートウィザードを使用して既に正常にインポートした同じファイル)をポイントしました。 ExcelソースをDataFlowに追加してExcel接続を指定すると、Excelシート名のドロップダウンに移動すると、「テーブルまたはビューをロードできません」と表示され、次のエラーが表示されます。
「接続マネージャのテーブル情報を取得できませんでした。接続マネージャを使用してソースに接続できませんでした...」
このエラーはどこにも記録されておらず、失敗の理由はわかりません。ディレクトリは認証されたユーザーに共有され、ファイルは使用されていません。
このエラーをデバッグする方法はありますか? 64ビットモードでこれを実行する際に問題が発生する可能性があることは理解していますが、それは開発にも当てはまりますか?
Excel 2007ファイル.XLSXであり、接続がExcel 2007に設定されていることを追加する必要があります。
32ビットバージョンのExcelがインストールされていないようです。 SSDTは32ビットIDEであることに注意してください。したがって、SSDTからデータにアクセスする場合、32ビットデータプロバイダーが使用されます。 SSDTの外部でパッケージを実行する場合、64ビットモード(常にではありませんが、ほとんどの場合)で実行され、64ビットデータプロバイダーを使用します。
64ビットでパッケージを実行する場合(目的とする必要がある)、32ビットデータプロバイダー(SSDTでの開発用)と64ビットデータプロバイダー(実稼働環境でパッケージを実行する)。
32ビットアクセスドライバーを次からダウンロードしました。
インストール後、ワークシートを見ることができました
出典:
回避策は、ExcelファイルをExcel 97-2003として保存した後、正常に動作することです。
今日もこの問題に遭遇しましたが、Excel 97-2003を使用した場合とは異なる解決策が見つかりました。 Maderia によると、問題はSSDT(SQL Serverデータツール)が32ビットアプリケーションであり、32ビットプロバイダーしか使用できないことです。ただし、64ビットACE OLE DBプロバイダーがインストールされている可能性があります。 32ビットプロバイダーをインストールしようとすることはできますが、64と32の両方のバージョンを同時にインストールすることはできません。マデリアが提案した解決策は(そして私は私のために働いていた)、Excel 2007ファイルをインポート/エクスポートするタスクにDelayValidation = TRUEを設定することでした。
この記事の推奨事項 SSISを使用したExcelからのデータの抽出 は、問題を解決しました。
その記事のリンクからMS Access Database Engine 2010 32ビットドライバーをダウンロードしました。
デバッグ用のプロジェクト構成プロパティも設定しますRun64BitRuntime = False
SQL Server 2014 SSMSの場合(統合サービスカタログ-> SSISDB->環境-> [検証]チェックボックス32 bit Runtime
のすべてのパッケージのプロジェクト)。
私のSSISパッケージは、VS 2013とSQL Server 2014の両方の環境で動作しています。
簡単な回避策は、ファイルを開き、Excelで保存ボタンを押すだけです(形式を変更する必要はありません)。 Excelに保存すると機能し始め、DFTでそのシートを確認できるはずです。
古いバージョンのデータ接続ドライバー( 2007 Office System Driver:Data Connectivity Components )を使用し、接続マネージャー構成ウィンドウでExcelバージョン2007-2010を選択する必要があります。 Office 2016の最新のデータ接続ドライバーが破損していると思います
私の答えは@biscoopのものと非常に似ていますが、質問や他の人に当てはまるかもしれないので、少し詳しく説明します。
私のWebアプリの1つから抽出した.xlsがありました。 Excel接続は機能しません(エラーメッセージ:「テーブルまたはビューをロードできませんでした」)。補足として、ファイルを開くと、ファイルがオンラインソースからのものであり、コンテンツのアクティベーションが必要であることを示す警告が表示されます。
同じファイルを.xlsxとして保存しようとしましたが、うまくいきました。同じファイルを別の名前で.xlsとして保存しようとしましたが、うまくいきました。そのため、最後のテストとして、ソースの.xlsファイルのみを開き、[保存]をクリックすると接続が機能しました。
簡単な答え:ファイルを開いて保存するとうまくいくかどうかを試してみてください。