I'm encountering an error, and I need some assistance. The error message I'm facing is: "ERROR: This SQL statement will not be passed to the DBMS for processing because it involves a join across librefs with different connection properties."
Here's the context: I'm in the process of transferring a table from one library to another using SAS Data Integration. The destination for this data is Snowflake.
I'd appreciate any guidance or insights on resolving this issue. Thank you!
Is the source data also from Snowflake?
This is what the documention say:
SAS Help Center: Passing Joins to the DBMS
SAS/ACCESS can pass down JOIN operations when more than one LIBNAME statement is involved. In this case, SAS/ACCESS starts by comparing the LIBNAME statements to see whether they are equivalent. Two LIBNAME connections are equivalent when they share these attributes:
Equivalent LIBNAME connections can connect to different database instances, as long as they are the same type of database and are on the same server. If the LIBNAME statements are determined to be equivalent, then a JOIN operation that uses both LIBNAME connections can be passed to the DBMS.
options sastrace=',,,d' sastraceloc=saslog nostsuffix msglevel=i;
So in short, compre the librefs and see if they meet the criteria (probably not...).Thank you for your response.
Yes, both the source and target tables are in the Snowflake database.
Regarding the code: I've already included the following options in my code: options sastrace=',,,d' sastraceloc=saslog nostsuffix msglevel=i;
The interesting part is that, without these options, the job runs and is marked as "successfully completed." However, when I include the code, it results in the error message mentioned above. I'm still investigating this issue and will certainly consider your suggestion of using explicit SQL pass-through. If you have any more insights or recommendations, I'd greatly appreciate them.
I've noticed that using the complete notation for tables, like "DATABASE"."SCHEMA"."TABLE" (e.g., "SOURCE"."PUBLIC"."TESTTABLE"), seems to be a key factor in resolving the issue.
In this scenario, it appears that when SAS Data Integration Studio automatically includes the database name in the statements, data loading onto Snowflake works without errors. The question now is how to configure SAS Data Integration Studio to consistently use this notation for all table references.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.