首页 > 解决方案 > 无效的列名'infinity'(odbc c#)

问题描述

我在 ssis 中编写了一个通用的 c# 脚本任务来获取 salesforce 表参数,通过 odbc 32 位驱动程序从 salesforce 中选择数据,然后使用 insert 语句将结果插入到 sqlserver 中的 DWH 表中。

这对大多数表都有效,但对于随机表左右,它会生成错误“无效的列名'Infinity'”。

现在我在执行之前记录了 sql,它不包含对名为 Infinity 的列的引用。

我可以手动运行 ssis 作业(右键单击,执行)并且它成功,它只有当我在框架中使用 sp_start_job 执行时它才会失败,并且在不同的行数处失败......(这可能只是由于从初始获取中排序,即可能有一些坏数据,但我再次在执行之前记录了sql,并且在手动运行时成功)

我没有附加任何代码,因为我认为这与代码错误无关,而是 ssis/c#/odbc 中的一些奇怪错误,就在一般的想法之后从这里去哪里?

标签: c#ssisodbc

解决方案


似乎解决这个问题/防止它的方法是在插入的所有字段周围加上单引号(即我相信浮点数、双精度数或某些数字字段合法地以某种方式保持无穷大值,并且这个引号处理了它)


推荐阅读