You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio中读取含特殊字符的Excel列名并对接Oracle数据库

解决方案
  • 问题1:OLE DB查询Excel时,包含/、°等特殊字符的列名,必须用方括号[]包裹,否则会被识别为运算符而非列名,导致读取失败。
  • 问题2:原代码的查询语句中漏选了N°CODIGO列,错误写为CODIGO,导致后续列映射时找不到对应源列,触发“部分已设置的参数未赋值”报错。

你可以直接修改查询语句,给特殊字符列加方括号的同时设置别名,简化后续映射逻辑,避免特殊字符在后续流程中再次引发问题,修改后的核心代码如下:

' 原错误查询语句
' Dim command As OleDbCommand = New OleDbCommand("SELECT FECHA/CONV,CODIGO,ACUERDO FROM [FILE$]", excel_con)
' 修改后的正确查询语句
Dim command As OleDbCommand = New OleDbCommand("SELECT [FECHA/CONV] AS FECHA, [N°CODIGO] AS CODIGO, ACUERDO FROM [FILE$]", excel_con)

因为查询时已经给列设置了别名,后续的列映射代码可以直接简化为:

bulkCopy.ColumnMappings.Add(New OracleBulkCopyColumnMapping("FECHA", "FECHA"))
bulkCopy.ColumnMappings.Add(New OracleBulkCopyColumnMapping("CODIGO", "CODIGO"))
bulkCopy.ColumnMappings.Add(New OracleBulkCopyColumnMapping("ACUERDO", "ACUERDO"))

如果你不想调整列映射代码,只需要给查询语句里的特殊字符列加上方括号即可,原映射逻辑可以保留不变。

内容的提问来源于stack exchange,提问作者Giancarlo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 14:09:03