【发布时间】:2020-05-01 18:49:50
【问题描述】:
Oracle 12c,ColdFusion 2018
我在两个不同的数据库中有两个 相同 表。有一个视图使用 UNION 将数据连接到一个数据集中,使用数据库链接。该视图有效且没有错误。
当我从 ColdFusion 查询视图时,我收到“not a valid month”错误。
当我只查询其中一个表(而不是视图)时,我没有收到同样的错误。
知道为什么会发生这种情况吗?
Table1 in database1
EmployeeID (number)
ShiftCode (varchar2)
ShiftTime (date)
Table2 in database2
EmployeeID (number)
ShiftCode (varchar2)
ShiftTime (date)
ViewBothTables - Table1 and table2 created in database1
SELECT EmployeeID, ShiftCode, ShiftTime
FROM Table1
UNION
SELECT EmployeeID, ShiftCode, ShiftTime
FROM USER.Table2@databaseConnection2
Query1 in ColdFusion - This works - returns 48 rows
SELECT employeeID, ShiftCode, ShiftTime
FROM USER.table1@databaseConnection1
Where ShiftTime <= #thisSchedWeekEnd#
AND
ShiftTime >= #thisSchedWeekStart#
Query2 in ColdFusion - This works - returns 10 rows
SELECT employeeID, ShiftCode, ShiftTime
FROM USER.table2@databaseConnection2
Where ShiftTime <= #thisSchedWeekEnd#
AND
ShiftTime >= #thisSchedWeekStart#
Query 3 in ColdFusion - this gives me the error
SELECT employeeID, ShiftCode, ShiftTime
FROM USER.viewBothTables@databaseConnection1
Where ShiftTime <= #thisSchedWeekEnd#
AND
ShiftTime >= #thisSchedWeekStart#
[Macromedia][Oracle JDBC Driver][Oracle]ORA-01843: not a valid month ORA-02063: preceding line from databaseConnection1
结构相同,Table1 和 Table2 是两个独立数据库中相同表(具有不同人员)的副本。该视图有效,并且可以查看(哈哈)我正在从第三个数据库进行查询。 ColdFusion 日期变量在所有三个示例中都是相同的,因为它三次都是同一个变量。前两个查询有效。第三个说无效的月份。
我在页面上连续三个查询,与上面完全一样。前两个返回数据,第三个错误输出。
是的,设置很愚蠢。我对此无能为力,它们是继承的系统,我无法更改,只能处理。
【问题讨论】:
-
这通常是日期存储在 VARCHAR2 列中的情况,并且并非所有值都共享相同 - 正确 - 格式掩码。
-
看不到的代码无法调试。
-
我已经用结构和更多信息更新了我的原始帖子。
标签: oracle view union oracle12c