Problem Note 66646: An access violation occurs after you try to query the DICTIONARY.Tables table with a DS2 SET statement
A FEDSQL procedure query that reads from the DICTIONARY.Tables table runs without issue within the DS2 procedure on SAS® 9.4M6 (TS1M6). However, the same code produces the following error messages if it is run on a SAS® Viya® 3.5 Compute Server:
ERROR: TKTSExecDirect failed.
ERROR: Access violation
See the Full Code tab for an example of code that can cause this problem.
Click the Hot Fix tab in this note for a link to instructions about accessing and applying the software update.
Operating System and Release Information
SAS System | Base SAS | Linux for x64 | Viya | Viya |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
The following code works in SAS 9.4M6, but it produces errors when run in SAS Viya 3.5.
proc copy in=sashelp out=work;
select cars;
run;
proc ds2;
data null;
method init();
sqlexec('drop table work.trash1 force');
sqlexec('drop table work.trash2 force');
sqlexec('create table work.trash1 as
select * from work.cars
{options locktable=share} limit 1');
sqlexec('create table work.trash2 as
select * from work.cars{options locktable=share}
limit 2');
end;
enddata;
run;
quit;
title "PROC FEDSQL RESULT SET";
proc fedsql;
select table_name
from dictionary.tables
where table_cat='WORK'
and table_name like 'T%';
quit;
title "PROC DS2 RESULT SET";
proc ds2;
data;
method run();
set
{select table_name from dictionary.tables where table_cat='WORK' and table_name like 'T%'}
;
end;
enddata;
run;
quit;
Type: | Problem Note |
Priority: | medium |
Topic: | SAS Reference ==> Procedures ==> DS2
|
Date Modified: | 2020-10-28 09:03:23 |
Date Created: | 2020-09-15 08:36:26 |