Biztalk LAST_UPDATE_DATE,UPDATEDUSER,CREATEDUSER,CREATION_DATE

问题描述 投票:0回答:1

我必须创建一个接口读取CSV文件,并将请求发送到SQL系统以插入数据。

在为SQL请求生成的架构中,createdate字段的数据类型为datetime,Nillable为true。

问题是当我收到此字段的值为空的文件时出现以下错误

字符串''不是有效的AllXsd值。在System.Xml.Schema.XsdDateTime..ctor(字符串文本,XsdDateTimeFlags种)

我尝试了默认值NULL(在DB中,如果我使用插入到使用SQL查询表的表中,则允许NULL值),但是当我在biztalk发送的请求中设置Null值时,它不是。“

适配器无法发送要发送端口的消息URL为“ SQLSERVERCONNECTIONDETAILS”的“ SQLPORTNAME”。这将是在为此发送端口指定的重试间隔后重传。详细信息:“ Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException:字段/参数“ CreatedDate”的输入数据无效根据预期的SqlDbType DateTime。 ->System.FormatException:字符串“”不是有效的AllXsd值。在System.Xml.Schema.XsdDateTime..ctor(字符串文本,XsdDateTimeFlags种)在System.Xml.XmlConvert.ToDateTime(String s,XmlDateTimeSerializationMode dateTimeOption)在Microsoft.Adapters.Sql.MetadataHelper.ConvertXmlValueToDotNetObject(StringxmlString,字符串fieldParameterName,SqlDbType,sqlDbType,Int32maxLength,Int32精度)---内部异常堆栈跟踪的结尾---

服务器堆栈跟踪:位于System.Runtime.AsyncResult.End [TAsyncResult](IAsyncResult结果)在System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult结果)System.ServiceModel.Channels.ServiceChannel.EndCall(字符串操作,Object []输出,IAsyncResult结果)位于System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult结果)

在[0]处抛出异常:在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessagereqMsg,IMessage retMsg)System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32类型)位于System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult结果)“

预期的结果-请求应该转到SQL,没有任何关于空值/空值的问题

biztalk
1个回答
0
投票

将架构日期时间字段更改为字符串(可为空)类型。这使得解析更加容易,并且限制更少。

缺点是无法将日期时间值自动转换为当前区域性,但如果确实存在缺点,我将留给您。

© www.soinside.com 2019 - 2024. All rights reserved.