0
获取错误:System.argumentexception:不存在从对象类型system.io.memorystream到已知托管提供程序本机的映射类型。从对象类型system.io.memorystream到已知托管提供程序本机类型不存在映射,仅Windows XP版本
我的代码在Win7-64bit上正常工作,但在WinXP-64bit上不能正常工作。
当在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);
该诀窍,仍然不知道为什么这只是一个XP机器问题。 – mjrevel 2013-03-26 19:30:18
@mjrevel对不起,我无法回答你的问题:/ – Lloyd 2013-03-26 21:10:52