Estas usando un codigo dinamico, por lo que las variables literales van con apostrofes (') en este caso deben de ir con doble apostrofe quedando algo como esto:
Código SQL:
Ver originalEXEC sp_msforeachdb 'use [?];
if Exists(SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = ''N_CON'')
BEGIN
declare @nombrebd varchar(128)
set @nombrebd=''?''
SELECT DISTINCT PAD_EJE, PAD_NRE, PAD_SIT,PED_COD, TRE_COD, TRE_DES,PAD_NVR, PAD_IMP,ISNULL(PED_DES,"") AS PED_DES
FROM ((((N_PAD LEFT OUTER JOIN N_TRE ON PAD_ETR = TRE_ETR AND PAD_PRO = TRE_PRO AND PAD_MUN = TRE_MUN AND PAD_TRE = TRE_COD)
LEFT OUTER JOIN N_PED ON PAD_PER = PED_COD) LEFT OUTER JOIN N_VAL ON PAD_ETR = VAL_ETR AND PAD_PRO = VAL_PRO AND PAD_MUN = VAL_MUN AND PAD_COD = VAL_PAD)
LEFT OUTER JOIN N_CAR ON VAL_ETR = CAR_ETR AND VAL_PRO = CAR_PRO AND VAL_MUN = CAR_MUN AND VAL_CAR = CAR_COD)
WHERE PAD_ETR = 1 AND (PAD_DIR <> 1 OR PAD_DIR IS NULL) AND PAD_PRO = 40 AND PAD_TVA IN ("R", "C");
END;'