figured this out, needed to re-validate the workspace server
I am glad you were able to sort-it-out. It gets a <airquote>complicated</airquote> sometimes. If you need help in the future, don't hesitate to contact us.
Hi Mklbor,
The SAS/ACCESS Interface to Vertica is ODBC-based. The ODBC driver is included with the SAS/ACCESS engine. <-- I was wrong about this. I had to install the Vertica client (basically the ODBC driver) in order to get this to work. We, SAS, don't ship the ODBC driver with the SAS/ACCESS engine.
If you have any questions, please don't hesitate to ask.
Best wishes,
Jeff
SAS/ACCESS Product Manager
Message was edited - mea culpa by: Jeff Bailey
Can someoen please confirm is Update/Insert/delete still not supported with SAS ODBC for Vertica ??
Is SAS/ACCESS for Verica free product or there is separate pricing for it ??
Hi Nidhikhetrapal,
SAS/ACCESS to Vertica provides a great deal of value - it is not free.
Keep in mind, you must have a PRIMARY KEY defined on a vertica table in order to UPDATE and DELETE using SAS/ACCESS to Vertica. You may want to review the documentation.
SAS/ACCESS(R) 9.4 for Relational Databases: Reference, Fifth Edition
Here is some code...
libname myvert vertica server=myvertica database=test user=myuser password=mypasswd;
libname odbcvert odbc prompt;
data myvert.test (dbtype=(x="integer not null, primary key(x)"));
do x = 1 to 1000;
y=x; z=x; output;
end;
run;
INSERT on a non-empty table test...
63 proc sql;
63 ! /* insert using ACCESS to Vertica */
64 insert into myvert.test values (1112,1112,1112);
NOTE: 1 row was inserted into MYVERT.test.
65 quit;
NOTE: PROCEDURE SQL used (Total process time):
real time 0.09 seconds
cpu time 0.00 seconds
66 proc sql;
66 ! /* insert using ACCESS to ODBC */
67 insert into odbcvert.test values (1113,1113,1113);
ERROR: CLI prepare error: [Vertica][ODBC] (10280) Invalid attribute value.
SQL statement: SELECT * FROM test.
68 quit;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds
INSERT on a non-empty table works with ACCESS to Vertica and fails with ACCESS to ODBC.
UPDATE Test...
99 proc sql;
99 ! /* update using ACCESS to Vertica */
100 update myvert.test set y=2111 where x=1112;
NOTE: 1 row was updated in MYVERT.test.
101 quit;
NOTE: PROCEDURE SQL used (Total process time):
real time 0.11 seconds
cpu time 0.04 seconds
102 proc sql;
102! /* update using ACCESS to ODBC */
103 update odbcvert.test set y=9999 where x=1;
ERROR: CLI prepare error: [Vertica][ODBC] (10280) Invalid attribute value.
SQL statement: SELECT * FROM test.
104 quit;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.02 seconds
cpu time 0.01 seconds
UPDATE works with ACCESS to Vertica and fails with ACCESS to ODBC.
DELETE Test...
105 proc sql;
105! /* update using ACCESS to Vertica */
106 delete from myvert.test where x=1112;
NOTE: 1 row was deleted from MYVERT.test.
107 quit;
NOTE: PROCEDURE SQL used (Total process time):
real time 0.11 seconds
cpu time 0.01 seconds
108 proc sql;
108! /* update using ACCESS to ODBC */
109 delete from odbcvert.test where x=1;
ERROR: CLI prepare error: [Vertica][ODBC] (10280) Invalid attribute value.
SQL statement: SELECT * FROM test.
110 quit;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
DELETE works with ACCESS to Vertica and fails with ACCESS to ODBC.
Best wishes,
Jeff
Thanks
2 quick questions
1) Whats the ball park pricing for SAS/Access to vertica
2) Can I create a table using it or just insert/update/delete on a a table . Our SAS code creates a lot of temporary tables so was wondering how that would work
My pleasure.
1) I don't know about pricing. You may want to contact your SAS account executive.
2) You can do INSERTs on a new/empty table with both ACCESS engines.
Thanks but can i create a new table through SAS ?
Yes
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.