我有一个试图通过 BCS 连接的 Oracle 数据库。
有一个 SQL Server 作为查看 Oracle 数据的通道。
Oracle 中表的 PK 键是 NUMBER(7)。
从 SQL Server 中选择视图时,我可以非常快速地点击一条记录。但是,当尝试通过 SPD 创建读取项目操作时,它会将 PK 默认为小数。结果,SP 在执行读取项目操作时将其转换为我在 Profiler 中找到的此调用:
exec sp_executesql N'SELECT [RECORD_CODE] , [PAGETITLE] , [PROJECT_CODE] , [CONTENT_DATA] FROM [dbo].[CONTENT_MAN_CONTENT_MAIN] WHERE [RECORD_CODE] = @RECORD_CODE',N'@RECORD_CODE decimal(5,0)',@RECORD_CODE=19258
这种转换为小数会导致对数据进行全面扫描,这意味着读取操作屏幕非常慢。
那么,为什么会有这样的问题: 1. 是否可以将外部内容类型中的数据类型更改为整数?2. 如果没有,我还有什么其他选择?
如果可以使用 BCS,我无法更改表结构并且宁愿不构建服务。