1

以下のコードを使用して、Excelファイルからデータを取得しています。接続を開いているときに、次のエラーが発生します。誰かがこの問題を解決する方法を教えてもらえますか?

タイプ'System.Data.OleDb.OleDbPermission、System.Data、Version = 2.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'のアクセス許可の要求が失敗しました。

注:ExcelFilePathは、ローカルドライブに保存されているExcelファイルのパスです。

String connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", ExcelFilePath);

 DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");

            DbConnection connection = factory.CreateConnection();

            connection.ConnectionString = connectionString;

            connection.Open(); // GIVES ERROR 

            DataTable tbl = connection.GetSchema("Tables");

            connection.Close();

            foreach (DataRow row in tbl.Rows)
            {
                //get sheets.

            }
4

2 に答える 2

2

このエラーは通常、コードアクセスのセキュリティが原因で発生します。アプリケーションを完全信頼モードで実行してみてください。

<trust level="Full" originUrl="" />
于 2012-11-02T12:01:33.610 に答える