我在SSIS '08中有一个带有OLEDB数据源的数据流任务.查询是这样的:
SELECT DISTINCT
dbo.udf_CreateCCISSentenceDuration(probation_year, probation_month, probation_day)
FROM sentence
Run Code Online (Sandbox Code Playgroud)
我减少了查询只是为了让它更具可读性.无论如何我得到以下错误:
Error at 11012 DATA [Data Records [27]]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred.
Error code: 0x80040E14
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E14
Description: "Statement(s) could not be prepared.".
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E14
Description: "Cannot find either column "dbo" or the user-defined function or aggreate
"dbo.udf_CreateCCISSentenceDuration", or the name is ambiguous.".
Run Code Online (Sandbox Code Playgroud)
此查询在SSMS中正常工作.如果我删除"dbo".所有者部分,我得到''udf_CreateCCISSentenceDuration'不是公认的内置函数名." 我运行它的数据库是一个SQL 2005实例.我已经完成了搜索,但无法找到与此错误和UDF相关的任何内容.任何帮助是极大的赞赏!
这可能不是真正的 SSIS 问题。为了帮助确定是否是这样,请尝试在 SSIS 外部重现此错误,通过使用相同的函数调用编写存储过程来调试它。本质上,您需要将存储过程存储在您的 oledb 连接发起请求的服务器/数据库实例上。
如果您遇到类似的错误,请对服务器、数据库、所有者和最终函数进行 4 部分引用,看看是否有效(例如 [myServerWhereFunctionIs].[myDatabaseInstanceWhereFunctionIs].[ownerSchemaOfFunction].udf_Function
| 归档时间: |
|
| 查看次数: |
8017 次 |
| 最近记录: |