I'm trying to dynamically pass a date function in an openquery on SQL Server. My SQL Server is connected to and OleDB Oracle database.
When I run my query using an Oracle based date function, my query runs, but returns no data:
SELECT *
FROM OPENQUERY( [SMA], 'SELECT B.SQL_DATE
FROM DIM_DATE B
WHERE B.SQL_DATE = current_DATE');
When I run that query using a SQL Server based date function I get the following error message:
SELECT *
FROM OPENQUERY([SMA], 'SELECT B.SQL_DATE
FROM DIM_DATE B
WHERE B.SQL_DATE = ''GETDATE()''');
OLE DB provider "OraOLEDB.Oracle" for linked server "SMA" returned message "ORA-01841: (full) year must be between -4713 and +9999, and not be 0".
I think I'm supposed to be using SQL Server based syntax (as opposed to Oracle syntax), but not sure how the current_DATE statement is even able to run?
Any help would be much appreciated!