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
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.