This is the code I have for my string so far.
Code:
SET @str = 'Select C05_CMM_DESC_S AS Commodity, U09_LOC_DESC_S AS Location, C16_BEGIN_DLV_DT_T AS Beginning,
c16_SHPMNT_DU_DT_T AS Ending, C16_SCH_UNITS_D AS ALLOCATED, C16_SCH_UNITS_D - C16_APL_UNITS_D AS ToArrive from OpenQuery(linkedservername, ''Select * from C05_Commodity_Code INNER JOIN U09_LOC_CD ON
U09_LOC_CD.U09_LOC_CD_S = C05_LOC_S AND U09_LOC_DESC_S IN (SELECT * dbo.fnSplitString_New(''''' + CONVERT(varchar(8000),@Location) + ''''','''','''')) INNER JOIN C16_PRC_DELIV_SCHD ON C16_CMM_S = C05_COMM_CD_S'')'
There error is where I am using the function. Here is the error message from query analyzer:
[OLE/DB provider returned message: [Pervasive][ODBC Client Interface][Pervasive][ODBC Engine Interface]Syntax Error: Select * from C05_Commodity_Code INNER JOIN U09_LOC_CD ON
U09_LOC_CD.U09_LOC_CD_S = C05_LOC_S AND U09_LOC_DESC_S IN (SELECT * dbo<< ??? >>.fnSplitString_New('Jamestown',',')) INNER JOIN C16_PRC_DELIV_SCHD]
OLE DB error trace [OLE/DB Provider 'MSDASQL' ICommandPrepare::Prepare returned 0x80040e14].
If I remove the function and just put 'Jamestown' in the parenthesis then it works.