Read Metadata With OpenSchema

Question:
How do I read the names of tables and fields in an Access database? I tried OpenSchema, but I got the error, “The operation requested by the application is not supported by the provider.”

Answer:

Your problem is in the Connection String you are using. On your Web server, you probably do not have the correct Access provider files installed. Instead, try using an ODBC connection. For example, to open an Access database and read tables, use this code. (Replace “FullpathnameofyourMDBfile” with the appropriate path as viewed from your Web server, not your development machine, if it is different).

   Dim cnn1, rstSchema, strCnn    Const adSchemaTables = 20         Set cnn1 = Server.Createobject("ADODB.Connection")   strCnn = "DRIVER=Microsoft Access Driver (*.mdb);Persist Security Info=False;DBQ=FullpathnameofyourMDBfile;DefaultDir=FullDirectoryNameOfyourMDBfile"   cnn1.Open strCnn         Set rstSchema = cnn1.OpenSchema(adSchemaTables)      Do Until rstSchema.EOF      Response.write "Table name: " & _         rstSchema("TABLE_NAME") & " = "  & _         "Table type: " & rstSchema("TABLE_TYPE") & "
" rstSchema.MoveNext Loop rstSchema.Close cnn1.Close set cnn1 = nothing

Note that you will get all Tables, including Access System tables from this code.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: