Have following query:declare @SourceFile varchar(10) set @SourceFile = 'F55125'declare @AliasLibrary varchar(10)set @AliasLibrary = 'RJADEVLIB' DECLARE @SQLSTR VARCHAR(4000) SET @SQLSTR = 'SELECT * FROM OPENQUERY( AS400SRV_MSDASQL, ''Select ztadds, ztyear, zt#mt, ztco, ztdl01, ztdsc, ztein, ztmot, ztdl02, ztcityfrom ''''' + @AliasLibrary + '''''.''''' + @SourceFile + ''''''')'insert into ZyTax.dbo.JTABLE(report_state, report_year, report_month, company, destination_county, carrier_name, carrier_fein, mode_code, origin_name, origin_city)EXEC (@SQLSTR)
Gives error:OLE DB provider "MSDASQL" for linked server "AS400SRV_MSDASQL" returned message "[IBM][iSeries Access ODBC Driver][DB2 UDB]SQL0104 - Token 'RJADEVLIB' was not valid. Valid tokens: ( TABLE LATERAL <IDENTIFIER>.".The value of my sql string is:SELECT * FROM OPENQUERY( AS400SRV_MSDASQL, 'Select ztadds, ztyear, zt#mt, ztco, ztdl01, ztdsc, ztein, ztmot, ztdl02, ztcity from ''RJADEVLIB''.''F55125''')Now, if I replace this from ''''' + @AliasLibrary + '''''.''''' + @SourceFile + ''''''')' with this from RJADEVLIB.F55125'')' it works.