エラーの取得:System.argumentexception:オブジェクトタイプsystem.io.memorystreamから既知のマネージドプロバイダーネイティブタイプへのマッピングは存在しません。
私のコードはWin7-64ビットでは正常に動作しますが、WinXP-64ビットでは動作しません。
このエラーは、KeyValuePairで渡されるオブジェクトのタイプがStreamまたはMemoryStreamであり、SQLがその処理方法を認識していない場合に発生します。
問題のコードは次のとおりです。
foreach (KeyValuePair<frmMain.PARAMS, Object> item in paramDictionary)
{
sqlCMD.Parameters.Add(new SqlParameter("@" + item.Key.ToString(), item.Value));
}
参考までに、この呼び出しを行うコードは次のとおりです。
mStream = frmRptViewer.CryRpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
Dictionary<PARAMS, Object> pdfDictionary = new Dictionary<PARAMS, Object>();
pdfDictionary.Add(PARAMS.TYPE, "PDFSAVE");
pdfDictionary.Add(PARAMS.PDF, mStream);
pdfDictionary.Add(PARAMS.JOBNUMB, jobNumTextBox.Text);
pdfDictionary.Add(PARAMS.LINENUMB, lineNumTextBox.Text);
DBCall.SavePDF(pdfDictionary);