スクリプトタスクに外部DLLファイルを追加しました。コードは、スクリプトタスクをデバッグしているときに機能していますが、SSISパッケージをデバッグせずに直接実行するとコードが機能しません。だから私は例外は、呼び出しのターゲットによってスローされて取得しています。 ssisこれにはエラーがあります。誰にでもこの問題の解決策がありますか?私はGACにdllを登録し、マシンを再起動しました。しかしまだそれは私にこのエラーを与えています呼び出しのターゲットによって例外がスローされました。 ssisスクリプトタスク
-1
A
答えて
0
私はこの問題の解決策を見つけるのは困難でした(解決策がないという問題は、少なくとも2〜3回ここに掲載されています)。これは、特定のDBFを読むときに.NETでVFP OLEDBデータプロバイダが爆発することと関係しています。
明らかに、問題は、VFPでは小数点の右側から桁を取り出して左側で使用できるようになっていることに由来します。たとえば、列がN(5,3)として定義されている場合は、9.999までの数値しか保持しませんが、小数点の右側に3桁の小数点以下の桁をすべて必要としない場合は、残りのスペースを使用できます左側の数字の場合この列は999.9を保持します!いずれにしても、InvalidOperationExceptionがスローされます。これにより、DataAdapterのFill()メソッドを使用してデータを読み取ることができなくなります。回避策は、データ・リーダーを使用し、DataTableをゼロから作成し、各行に一度に1つずつ、各列を移入することです。例外が発生した場合は、値としてnullを挿入します。 C#2.0のコードは次のとおりです。
public DataTable GetVfpDataTable(string dbfFullPath)
{
string sqlString = "SELECT * FROM " + Path.GetFileName(dbfFullPath);
OleDbConnection oleConn = new OleDbConnection("Provider=VFPOLEDB.1;Data Source=" +
Path.GetDirectoryName(dbfFullPath) + ";Collating Sequence=MACHINE;");
OleDbCommand oleCmd = new OleDbCommand(sqlString, oleConn);
OleDbDataReader oleReader;
DataColumn col;
DataRow row;
DataTable dbfTable = new DataTable();
try
{
oleConn.Open();
//Bug in VFP OLE Data Adapter blows up with error
// "The provider could not determine the decimal value..."
// must read with a data reader row by row, column by column
oleReader = oleCmd.ExecuteReader();
for (int i = 0; i < oleReader.FieldCount; i++)
{
col = new DataColumn(oleReader.GetName(i), oleReader.GetFieldType(i));
dbfTable.Columns.Add(col);
}
while (oleReader.Read())
{
row = dbfTable.NewRow();
for (int i = 0; i < oleReader.FieldCount; i++)
{
try
{
row[i] = oleReader[i];
}
catch (InvalidOperationException)
{
row[i] = DBNull.Value; //work-around for VFP OLEDB Provider glitch
}
}
dbfTable.Rows.Add(row);
}
}
catch (Exception eX)
{
throw new FileLoadException("Error Importing From VFP File\n" +
eX.Message + "\nVFPDataAccess.cs:GetVfpDataTable()", dbfFullPath);
}
finally
{
oleConn.Close();
}
return dbfTable;
}
関連する問題
- 1. 呼び出しのターゲットによって例外がスローされました
- 2. 呼び出しのターゲットによってVB.Net例外がスローされました
- 3. 私は例外がで呼び出しのターゲットによってスローされていましたxamarin.android
- 4. オブジェクトのインスタンス化時に呼び出しのターゲットによって例外がスローされました
- 5. VS2013での呼び出しのターゲットによって例外がスローされました
- 6. コントローラーを足場にしたときにスローされた呼び出しのターゲットによって例外がスローされました
- 7. XamarinはSystem.Reflection.TargetInvocationExceptionフォーム:呼び出しのターゲットが例外をスローされた
- 8. SSIS:DTSスクリプトタスクは、ユーザーコードで例外が発生しました:呼び出しのターゲットが例外をスローしてきた
- 9. C#での呼び出しの対象によって例外がスローされました
- 10. エラー:呼び出しの対象によって例外がスローされました。オプション
- 11. EF Power Toolsベータ2 - 呼び出しの対象によって例外がスローされました
- 12. Xamarinフォーム:System.Reflection.TargetInvocationException:呼び出しの対象によって例外がスローされました
- 13. Visual Studio 2010エラー:「呼び出しの対象によって例外がスローされました」
- 14. SSIS - DTSスクリプトタスクでユーザーコードに例外が発生しました
- 15. CXF REST呼び出しの呼び出し時にスローされる例外
- 16. メソッドが呼び出された行に例外がスローされます
- 17. 呼び出し元メソッドは、呼び出し先メソッドによってスローされている例外をどのように知っていますか?
- 18. "データソースの設定..."を呼び出す際のエラー。詳細:呼び出しの対象によって例外がスローされました
- 19. ストアドプロシージャ(MySQL)を呼び出すと例外がスローされます
- 20. NoSuchMethodErrorがloader.loadClass()の呼び出しによって呼び出されました。
- 21. 呼び出しの対象によって例外がスローされました - 不正な形式のプログラムをロードしようとしました。 DbGeography
- 22. 要素が表示されませんターゲット呼び出し例外
- 23. エラーでアプリケーションがクラッシュする例外がターゲットによってスローされました
- 24. ActionListenerで呼び出されたメソッドに例外をスローしようとしています
- 25. "呼び出しの対象によって例外がスローされました。"オブジェクトをデシリアライズしようとしたとき
- 26. valgrindの実行中に例外がスローされますが、プログラムが直接呼び出されたときに例外がスローされない
- 27. Webイベントプロバイダ 'EventLogProvider'によって次の例外がスローされました
- 28. 例外:System.OutOfMemoryExceptionがスローされました
- 29. evalがbashスクリプトファイルによって呼び出されました
- 30. スーパー/このコンストラクタの呼び出しで例外が他の例外にスローされる