SQL 怎么跳过 -2147217833错误

q8254733 2018-07-10 04:45:08
错误原因是EXCEL一个单元格内的字符达到700多个。
INSERT INTO SELECT时就会出错。
最好不要修改用户的数据习惯,如果能从技术层面解决最好,不行的话跳过也可以接受,怎么跳过呢?

这是在VBA中写的SQL,不过没关系,原理相同,大神请赐给我解决办法吧。
Set cnn = CreateObject("ADODB.Connection")
cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;Extended Properties='Excel 12.0;imex=0';Data Source=" & ThisWorkbook.Path & "\标准格式EXCEL.xlsb"
SQL = "INSERT INTO [Sheet1$] SELECT * FROM [Excel 12.0;Database=" & ThisWorkbook.Path & "\原始数据.xlsb].[Sheet1$] "
Set rs = cnn.Execute(SQL)
cnn.Close
Set rs = Nothing
Set cnn = Nothing
...全文
341 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
q8254733 2018-07-12
  • 打赏
  • 举报
回复
啊,我的问题很难吗?
q8254733 2018-07-11
  • 打赏
  • 举报
回复
引用 3 楼 zjcxc 的回复:
直接在 Excel 中操作不是列简单么?


我需要将多个表汇总成一个表。
如果使用UNION连接方式,这些子表如果这在被人编辑就会出错,要么就特别慢。所以我想用这种先提取的方式获得数据,再对这些数据进行处理。
zjcxc 2018-07-11
  • 打赏
  • 举报
回复
直接在 Excel 中操作不是列简单么?
q8254733 2018-07-11
  • 打赏
  • 举报
回复
引用 1 楼 shinger126 的回复:
[Sheet1$]表定义的字段长度不够,把对应的字段改长点.

请问怎么定义[Sheet1$]表定义的字段长度呢?请赐教~~
shinger126 2018-07-10
  • 打赏
  • 举报
回复
[Sheet1$]表定义的字段长度不够,把对应的字段改长点.

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧