Oracle SQLSTATE-HY104;精度值无效。参数错误
我正在使用SSIS进行ETL。源数据库和目标数据库是Oracle。 当我通过SQL代理运行作业时,它会提示我以下错误: 此表包含创建此问题的5个日期列 我已经试过了所有可能的解决办法,但没有成功。它似乎并没有数据问题,因为我在那个些工作完美的选择性日期重新运行作业。满载时,它失败了Oracle SQLSTATE-HY104;精度值无效。参数错误,oracle,ssis,odbc,date-format,Oracle,Ssis,Odbc,Date Format,我正在使用SSIS进行ETL。源数据库和目标数据库是Oracle。 当我通过SQL代理运行作业时,它会提示我以下错误: 此表包含创建此问题的5个日期列 我已经试过了所有可能的解决办法,但没有成功。它似乎并没有数据问题,因为我在那个些工作完美的选择性日期重新运行作业。满载时,它失败了 底部的错误消息是: Data Flow: Task:Error: SQLSTATE 22007, Message: [Microsoft][ODBC Oracle Wire Protocol driver]Inva
底部的错误消息是:
Data Flow: Task:Error: SQLSTATE 22007, Message: [Microsoft][ODBC Oracle Wire Protocol driver]Invalid datetime format. Error in parameter 17.
您的日期时间格式
无效。您需要通过更正正在使用的数据或格式模型来修复它,但是,由于您没有包含任何代码,我们无法提供进一步帮助。我也有类似的问题,不同之处在于我的源是SQL Server数据库,目标是Oracle数据库。
我首先将源日期时间列转换为字符串类型,然后将它们成功加载到目标日期列。“无效的日期时间格式”似乎是罪魁祸首。尝试在Visual Studio(BIDS)中一步一步地打开并运行包(添加一些断点)。我已更新了我的问题。date数据类型中存在空值问题。理论上,通过使用较旧的JDBC驱动程序来放置或删除数据类型是可能的(但如果可以的话,请不要这样做)。最好对数据进行清理,为这些日期输入合理的值。我已经更新了我的问题。附加代码和数据结果的第二个快照。我做了一些工作,发现nulls中存在一些问题。非空值和格式正常。如果没有空值,数据就会传播。对于空值,我尝试使用nvl()函数替换空值,但也没有帮助。如果你看到快照。与年中的“10000”相比,存在空值。这对于日期数据类型是不可能的。