异步、sql转换成xml、保存到数据库出现异常
2012-05-30 17:43
381 查看
在以下将sql语句执行时,保存到数据库中出现问题
当sql的数据条数多余297条时,出现保存异常,但在数据库里直接执行可以插入数据。
解决:将不采用一条数据一条<sql><sqlstr /></sql>的形式,改用所有sql放在一个里面,用begin end。
begin...end 有一个优势,当有任意一条出现问题时,所有都回滚。
1:.net 对字符长度有限制,每个<sql>标签都可能占用字符。这里我不太懂
2:人为对sql标签,xml解析有限制
3:如果对于异步操作时,一起发送过来,不是按照堆栈,而是哪个快就先执行哪个。
/// <summary> /// 保存表数据 /// </summary> /// <param name="strTableName">表名称</param> /// <param name="sqls">语句集合</param> /// <param name="task">任务</param> /// <returns></returns> public void SaveData(string strTableName, List<string> sqls, TaskDB task) { string strSql = "<sqls><sql><sqlstr type =\"command\" table=\"" + strTableName + "\">Delete From " + strTableName + "</sqlstr></sql>"; foreach (var item in sqls) { strSql+= "<sql><sqlstr type =\"command\" table=\"" + strTableName + "\">" + item + "</sqlstr></sql>"; } strSql += Duration.GetUpdateSql(Duration.GetIDByTableName(strTableName)) + "</sqls>"; //strSql += "</sqls>"; task.SQL = strSql; task.Start(); }
当sql的数据条数多余297条时,出现保存异常,但在数据库里直接执行可以插入数据。
解决:将不采用一条数据一条<sql><sqlstr /></sql>的形式,改用所有sql放在一个里面,用begin end。
begin...end 有一个优势,当有任意一条出现问题时,所有都回滚。
1:.net 对字符长度有限制,每个<sql>标签都可能占用字符。这里我不太懂
2:人为对sql标签,xml解析有限制
3:如果对于异步操作时,一起发送过来,不是按照堆栈,而是哪个快就先执行哪个。
public void SaveData(string strTableName, List<string> sqls, TaskDB task) { string strSql = null; strSql = "<sqls><sql><sqlstr type =\"command\" table=\"" + strTableName + "\">begin Delete From " + strTableName + ";"; foreach (var item in sqls) { strSql += item; } strSql += "end;</sqlstr></sql>"; strSql += Duration.GetUpdateSql(Duration.GetIDByTableName(strTableName)) + "</sqls>"; task.SQL = strSql; task.Start(); }
相关文章推荐
- 星外虚拟主机管理平台 开通数据库 出现Microsoft OLE DB Provider for SQL Server 错误 '8004' 从字符串向 datetime 转换失败
- 解决使用数据库时代理类强转出现异常$Proxy0 cannot be cast to java.sql.Connection
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 使用记事本编写xml文件保存出现异常解决办法
- C++使用ODBC连接数据库时出现无法将SQLCHAR*转换为SQLWCHAR*
- 使用HibernateTemplate对数据库查询count时出现的类型转换的异常
- 关于使用JAXB读取xml文档转换为java对象出现非法注解异常
- Dom4j无法以UTF-8保存xml文件,出现异常:Invalid byte 2 of 2-byte UTF-8 sequence
- 学习SmartUpload组件时,出现文件不能保存的异常
- mysql导入数据库出现异常(数据库字符集问题),如何解决??
- asp数据转换为xml格式存入数据库 ,又从库中读取xml显示到页面
- GSON解析传入泛型T,出现类型转换异常
- VC中向数据库插数据,执行“UPDATE()”时,出现异常:无法更新,当前被锁定
- reader.GetSqlXml(0)需要在数据库中指定数据列为xml类型
- Microsoft SQL Server 7.0数据库升级转换问题
- python调试技巧:数据库调试,转换sqlalchemy中的sql语句
- POI操作excel2007 出现异常 java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlOptions 解决方法
- MS SQL 自动备份数据库,保存一周…
- CK+表情数据库转换为python数据格式保存(.pkl)
- 保存图片到SQL 2000 Server数据库