<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Can SAS automatically discover Access db metadata? in SAS Data Science</title>
    <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237521#M3483</link>
    <description>No problem.   I will try it in the morning.  -KJ</description>
    <pubDate>Thu, 03 Dec 2015 03:53:00 GMT</pubDate>
    <dc:creator>kjohnsonm</dc:creator>
    <dc:date>2015-12-03T03:53:00Z</dc:date>
    <item>
      <title>Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237406#M3472</link>
      <description>&lt;P&gt;Hello all,&lt;/P&gt;
&lt;P&gt;I have a project to mine all my network shares.&amp;nbsp; To this end I have opened all my SAS data sets, all my DBF data sets, etc, now I am looking at Access DB files.&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&lt;U&gt;My question is, can SAS automatically discover Access db metadata?&lt;/U&gt;&lt;/STRONG&gt;&amp;nbsp; I have a master metadata file I want to add&amp;nbsp;all my&amp;nbsp;MDB metadata&amp;nbsp;too.&amp;nbsp; The variables I am most interested in are: var PATH FILE EXT MEMNAME MEMLABEL TYPEMEM NAME LENGTH VARNUM LABEL;&amp;nbsp;I of course have the path, file, &amp;amp; extension already from my file system search and have the remaining fields from reading proc contents for all of&amp;nbsp;my files.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I also can use my file list to get just my mdb files, I am a little fuzzy at this point. I have read that VBA can do it, but would prefer to stay in SAS if possible. To my best understanding at this point “proc import” needs to know the table names to move forward form here, but that means opening 500 files by hand. Error prone…&lt;/P&gt;
&lt;P&gt;(two extensions down, 609 to go....&amp;nbsp;&amp;nbsp; good grief Charlie Brown.)&amp;nbsp;&amp;nbsp;-Keith Johnson&lt;/P&gt;
&lt;P&gt;PS if there are any others that are working on a SAS project like this and have other extensions already done a shout out would be gladly welcomed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Dec 2015 17:32:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237406#M3472</guid>
      <dc:creator>kjohnsonm</dc:creator>
      <dc:date>2015-12-02T17:32:29Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237421#M3473</link>
      <description>&lt;P&gt;If you want the metadata for Access databases using SAS you need to be able to assign a LIBNAME pointing at them. To do that you need to have SAS/ACCESS to PC Files installed and licensed. Is this the case? If so check out the link below&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/acpcref/67382/HTML/default/viewer.htm#n1wvmggexroxgyn17rp61jml3cvn.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/acpcref/67382/HTML/default/viewer.htm#n1wvmggexroxgyn17rp61jml3cvn.htm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Dec 2015 18:35:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237421#M3473</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2015-12-02T18:35:50Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237489#M3477</link>
      <description>&lt;P&gt;* --- only do this one time to make sure all_files_metadata is empty ---;&lt;BR /&gt;proc datasets library = work ; &lt;BR /&gt;delete all_files_metadata;&lt;BR /&gt;run;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/*I get the SAS metadata just fine with this macro:*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt; read_sas_contents(MyPath, MyFileNoExt, MyExt);&lt;/P&gt;
&lt;P&gt;%let MyExt = %upcase(&amp;amp;MyExt);&lt;/P&gt;
&lt;P&gt;%if &amp;amp;MyExt = SAS7BDAT %then&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libname CLibRef "&amp;amp;MyPath";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc contents data=CLibRef.&amp;amp;MyFileNoExt. out=temp_metadata1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data temp_metadata;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set temp_metadata1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length path $255. file $255. ext $20.;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; path="&amp;amp;MyPath.";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file="&amp;amp;MyFileNoExt.";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ext="&amp;amp;MyExt.";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc datasets library=work ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; append base=all_files_metadata data=temp_metadata force ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt; read_sas_contents;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;*and I am working on this code as a frame work;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt; read_mdb_contents(MyPath, MyFileNoExt, MyExt);&lt;/P&gt;
&lt;P&gt;%let MyExt = %upcase(&amp;amp;MyExt);&lt;/P&gt;
&lt;P&gt;%if &amp;amp;MyExt = MDB or &amp;amp;MyExt = ACCDB %then&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LIBNAME MyMdb ACCESS PATH="&amp;amp;MyPath.\&amp;amp;MyFileNoExt..&amp;amp;MyExt.";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc contents data=MyMdb.&amp;amp;MyFileNoExt. out=temp_metadata1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data temp_metadata;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set temp_metadata1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length path $255. file $255. ext $20.;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; path="&amp;amp;MyPath.";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file="&amp;amp;MyFileNoExt.";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ext="&amp;amp;MyExt.";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end&lt;/P&gt;
&lt;P&gt;;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt; read_mdb_contents;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/*I know that access does not work with the proc contents, however queries like this: */&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;SELECT * FROM MyMdb.MSysObjects WHERE Type = 1 OR Type = 4&lt;BR /&gt;;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/*don't work either, and this does not seem to help*/&lt;/P&gt;
&lt;P&gt;LIBNAME mymdb LIST;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/*I mean i get data from LIST but i am not getting tables from the libname list or fields i need.&amp;nbsp; I am just not sure where to turn...*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Dec 2015 23:11:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237489#M3477</guid>
      <dc:creator>kjohnsonm</dc:creator>
      <dc:date>2015-12-02T23:11:00Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237490#M3478</link>
      <description>PS SASKiwi, Thank you for your time -Keith</description>
      <pubDate>Wed, 02 Dec 2015 23:13:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237490#M3478</guid>
      <dc:creator>kjohnsonm</dc:creator>
      <dc:date>2015-12-02T23:13:27Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237491#M3479</link>
      <description>&lt;P&gt;Typically you would define a libname pointing to your database and then get the metadata from pseudo tables dictionary.tables or dictionary.columns or from proc datasets:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;LIBNAME AC ACCESS PATH='C:\PCFData\Demo.accdb' access=readonly;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;select memname from dictionary.tables&lt;BR /&gt;where libname = "AC";&lt;BR /&gt;quit;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Dec 2015 23:17:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237491#M3479</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2015-12-02T23:17:10Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237507#M3480</link>
      <description>&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LIBNAME MyMdb ACCESS PATH="&amp;amp;Mydir.\&amp;amp;Myfile..mdb" access=readonly;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;select memname from dictionary.tables&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;select * from dictionary.columns*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;where libname = "MyMdb";&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;based on your post I tired the above, I get:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;330&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select memname from dictionary.tables&lt;BR /&gt;331&amp;nbsp; /*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from dictionary.columns*/&lt;BR /&gt;332&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where libname = "MyMdb";&lt;BR /&gt;NOTE: No rows were selected.&lt;BR /&gt;333&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quit;&lt;BR /&gt;NOTE: PROCEDURE SQL used (Total process time):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.01 seconds&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;...for both selects shown above, the lib* referance you indicate works just fine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;*access=readonly;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Dec 2015 00:20:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237507#M3480</guid>
      <dc:creator>kjohnsonm</dc:creator>
      <dc:date>2015-12-03T00:20:02Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237511#M3481</link>
      <description>&lt;P&gt;Try&amp;nbsp;&lt;SPAN&gt;where libname = "MYMDB" - uppercase is required.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Dec 2015 01:31:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237511#M3481</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2015-12-03T01:31:30Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237513#M3482</link>
      <description>&lt;P&gt;Sorry, I should have mentioned that.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Dec 2015 02:35:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237513#M3482</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2015-12-03T02:35:09Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237521#M3483</link>
      <description>No problem.   I will try it in the morning.  -KJ</description>
      <pubDate>Thu, 03 Dec 2015 03:53:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237521#M3483</guid>
      <dc:creator>kjohnsonm</dc:creator>
      <dc:date>2015-12-03T03:53:00Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237609#M3484</link>
      <description>&lt;P&gt;I tried it again with both all upper case WORKS!&amp;nbsp;&amp;nbsp; I like to use upper lower case for my variables to distinguish them.&amp;nbsp; Thank you.&amp;nbsp; Sorry it took so many tries...&lt;/P&gt;</description>
      <pubDate>Thu, 03 Dec 2015 16:08:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237609#M3484</guid>
      <dc:creator>kjohnsonm</dc:creator>
      <dc:date>2015-12-03T16:08:20Z</dc:date>
    </item>
    <item>
      <title>Re: Can SAS automatically discover Access db metadata?</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237709#M3487</link>
      <description>&lt;P&gt;A better general solution might be given any &lt;STRONG&gt;LIBNAME&lt;/STRONG&gt; you can access (execute a correct LIBNAME command and see the proc sql below):&lt;/P&gt;
&lt;PRE&gt;LIBNAME MYMDB ACCESS PATH="D:\Mydir\MyFile.mdb" access=readonly;

 
PROC SQL;
/* for each of these lines executed, you will find a list of metadata info in your log given you have an active libname*/
describe table dictionary.members;
/*describe table dictionary.columns;*/
/*describe table dictionary.tables;*/

/* only lasting question I have is what is this "dictionary.catalog" supose to help with?  I didn't see any "log" results here with my access db*/
/*describe table dictionary.catalogs;*/

/*The vcolumn is a little silly affectivly select *  like we don't already know this...   8) */
/*describe view sashelp.vcolumn;*/
QUIT; &lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/*~~~~~~~~~~~log results here~~~~~~~~~~~*/&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;654 LIBNAME MYMDB ACCESS PATH="D:\Mydir\MyFile.mdb" access=readonly;&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;NOTE: Libref MYMDB was successfully assigned as follows:&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Engine:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ACCESS&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Physical Name: D:\Mydir\MyFile.mdb&lt;BR /&gt;&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;655 /*Then execute the following code uncommenting just one of the lines, for example I show the results from dictionary.members*/&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;656 PROC SQL;&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;657 describe table dictionary.members;&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;NOTE: SQL table DICTIONARY.MEMBERS was created like:&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;create table DICTIONARY.MEMBERS&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;(&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;libname&lt;/STRONG&gt; char(8) label='Library Name',&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;memname&lt;/STRONG&gt; char(32) label='Member Name',&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;memtype&lt;/STRONG&gt; char(8) label='Member Type',&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;dbms_memtype&lt;/STRONG&gt; char(32) label='DBMS Member Type',&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt; engine&lt;/STRONG&gt; char(8) label='Engine Name',&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;index&lt;/STRONG&gt; char(3) label='Indexes',&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;path&lt;/STRONG&gt; char(1024) label='Pathname'&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;);&lt;/EM&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;/*~~~~~~~~~~~end log results here~~~~~~~~~~~*/&lt;/P&gt;
&lt;PRE&gt;proc sql;
/*create table mytables as*/
select

 

/*be sure to update dictionary.___  to whatever you used above and match the feild names selected too your log results*/


                              libname,
                              memname,
                              memtype,
                              dbms_memtype,
                              engine,
                              index,
                              path
from dictionary.members

/* be sure to use upper case for your call here.  I think it does not matter in the lib ref above, (but not sure)*/
where libname=upcase('mymdb');

/*run;*/

quit;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Dec 2015 23:19:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Can-SAS-automatically-discover-Access-db-metadata/m-p/237709#M3487</guid>
      <dc:creator>kjohnsonm</dc:creator>
      <dc:date>2015-12-03T23:19:39Z</dc:date>
    </item>
  </channel>
</rss>

