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.

 All Forums
 SQL Server 2005 Forums
 Transact-SQL (2005)
 Using OpenQuery

Author  Topic 

snufse
Constraint Violating Yak Guru

469 Posts

Posted - 2009-03-27 : 16:53:12
I am trying to do an open query to db2/400 and get error:

Incorrect syntax near '@JobNumber1'.

declare @JobNumber1 char(12)
set @JobNumber1 = ' 3505040'
SELECT *
FROM OPENQUERY(AS400SRV_MSDASQL, 'Call QGPL.get_eqmqty(?)' @JobNumber1)



sodeep
Master Smack Fu Yak Hacker

7174 Posts

Posted - 2009-03-27 : 17:18:12
Read this:
http://support.microsoft.com/kb/314520
Go to Top of Page

snufse
Constraint Violating Yak Guru

469 Posts

Posted - 2009-03-30 : 09:13:29
Tried this (using the link reference)

declare @JobNumber1 char(12)
set @JobNumber1 = ' 3505040'
DECLARE @OPENQUERY nvarchar(4000), @TSQL nvarchar(4000), @LinkedServer nvarchar(4000)
SET @LinkedServer = 'AS400SRV_MSDASQL'
SET @OPENQUERY = 'SELECT * FROM OPENQUERY('+ @LinkedServer + ','''
SET @TSQL = ' Call QGPL.get_eqmqty(?),' + @JobNumber1 + '''' + ')'
EXEC (@OPENQUERY+@TSQL)


Value of 'Exec'

SELECT * FROM OPENQUERY(AS400SRV_MSDASQL,' Call QGPL.get_eqmqty(?), 3505040')

Error:

OLE DB provider "MSDASQL" for linked server "AS400SRV_MSDASQL" returned message "[IBM][iSeries Access ODBC Driver][DB2 UDB]SQL0104 - Token , was not valid. Valid tokens: <END-OF-STATEMENT>.".
Msg 7321, Level 16, State 2, Line 1
An error occurred while preparing the query " Call QGPL.get_eqmqty(?), 3505040" for execution against OLE DB provider "MSDASQL" for linked server "AS400SRV_MSDASQL".




Go to Top of Page

snufse
Constraint Violating Yak Guru

469 Posts

Posted - 2009-03-31 : 10:43:00
Can anyone help?
Go to Top of Page
   

- Advertisement -