Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
Author |
Topic |
zhangn
Starting Member
29 Posts |
Posted - 2010-02-02 : 08:28:36
|
i have tried to pull out some data from oracle database in sql server 2008 by using linkserver. The funny thing is i am not able to define the where condition. See my query below, the bold word is the key:declare @timestamp as varchar(10)set @timestamp = '2010-01-01'SELECT *FROM (SELECT fcast.GASDAY, cast(fcast.TOTALFORECAST / 1000000 AS int) TOTALFORECAST, slot.SLOTIDFROM (SELECT *, datepart(hour, UPDATETIME) AS [HOUR], cast(GASDAY AS float) - floor(CAST(UPDATETIME AS float)) AS [ADVANCEDAYS]FROM PGASFO02..DEVELOPER.NGCFORECASTWHERE GASDAY >= @timestamp) fcast INNER JOINPGASFO02..DEVELOPER.NGCFORECASTSLOT slot ON fcast.ADVANCEDAYS = slot.ADVANCEDAYSWHERE fcast.HOUR >= slot.STARTHOUR AND fcast.HOUR <= slot.ENDHOUR) AS A PIVOT (AVG(TOTALFORECAST) FOR SLOTID IN ([NGC2100D0], [NGC1600D0], [NGC1300D0], [NGC1000D0], [NGC0000D0], [NGC1600D1], [NGC1300D1])) AS pvtThen, the system return OLE DB provider "MSDAORA" for linked server "PGASFO02" returned message "Type name is invalid.".Msg 7322, Level 16, State 2, Line 9A failure occurred while giving parameter information to OLE DB provider "MSDAORA" for linked server "PGASFO02".However, if i put put '2010-01-01' directly in the query. it workssee the query below, SELECT *FROM (SELECT fcast.GASDAY, cast(fcast.TOTALFORECAST / 1000000 AS int) TOTALFORECAST, slot.SLOTIDFROM (SELECT *, datepart(hour, UPDATETIME) AS [HOUR], cast(GASDAY AS float) - floor(CAST(UPDATETIME AS float)) AS [ADVANCEDAYS]FROM PGASFO02..DEVELOPER.NGCFORECASTWHERE GASDAY >= '2010-01-01') fcast INNER JOINPGASFO02..DEVELOPER.NGCFORECASTSLOT slot ON fcast.ADVANCEDAYS = slot.ADVANCEDAYSWHERE fcast.HOUR >= slot.STARTHOUR AND fcast.HOUR <= slot.ENDHOUR) AS A PIVOT (AVG(TOTALFORECAST) FOR SLOTID IN ([NGC2100D0], [NGC1600D0], [NGC1300D0], [NGC1000D0], [NGC0000D0], [NGC1600D1], [NGC1300D1])) AS pvtcan anyone example to me why?Is there any way to fix the problem?Very appreciated!Ning |
|
|
|
|
|
|