c# - SqlBulkCopy 数据末尾有新行的问题
问题描述
我在SqlBulkCopy
ASP.NET MVC 页面上使用 C# 和 EPPlus 导入 Excel 文件。我的目标是导入所有行,与现有数据进行比较,然后更新不匹配的值。除了处理数据末尾的换行符和换行符外,一切正常。
\r\n
变成\n
,如果最后,它会被完全忽略,例如:
这“...cerâmica e com tampa removível. \r\n\r\nVersátil, pode ser usada como pote na sua decoração。\r\n\r\nRecomendada para todos os environmentes da casa。\r\n\r \n" 变为 "...cerâmica e com tampa removível。\n\nVersátil, pode ser usada como pote na sua decoração。\n\nRecomendada para todos os environmentes da casa。"
考虑到列的类型是 ,寻找答案我设法理解这种行为是预期的varchar(max)
,对吗?
如果是这样...我的问题是我不能使用大字符列,因为它会超过最大行大小,因为我需要许多大大小列。
我需要在数据末尾保留这些换行符,并且如果可能的话,我也希望保持中间的那些不受影响。
有没有办法使用SqlBulkCopy
和更改此行为以完全不更改数据?我不知道,也许列映射中的某些东西?
关于导入过程,一切都从 Excel 文件开始。我导入该文件并将其转换为 EPPLUSExcelPackage
类。然后我将ExcelSheet
带有数据的DataTable
.
之后,我在数据库上创建了一个临时表。相关列属于[VARCHAR](MAX) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
类型。最后,我SqlBulkCopy
用来将数据写入DataTable
该临时表中。
我检查了数据在DataTable
. 仅当信息写入数据库中的表时才会发生更改。
PS我没有包含代码,因为我认为它与问题无关。如果你们有其他想法,请告诉我。
解决方案
推荐阅读
- javascript - 如何处理来自javascript响应的大数值?
- python - 用 Python 修改 XML
- reactjs - 带有 /:userId 的路由中断其他路径
- spring - Embeddable 正在创建 2 个表 jpa springs
- node.js - socket.io 对 ubuntu 服务器性能的影响
- multidimensional-array - SwiftUI - 如何创建和使用自定义类型数组
- python - 修改 __init__ 类功能代码后,不再允许“获取源代码”
- c++ - 为什么我们访问 char* 指向的字节的值而不是指针的值?
- excel - 根据标题值VBA重新排序列
- go - 选择阻塞的呼叫和频道