We have a customer that has written an eCommerce interface to our app. They are using a JDBC connection to the OpenEdge DB and are creating required tables in the OpenEdge DB. My understanding (apparently incorrect) was that tables created using SQL cannot be accessed by the ABL. Is this not true? Should I be able to see these tables in the Data Dictionary?
Also, all these tables were created in the schema area. Is there a way to create them in the TYPE II storage areas using SQL?
Thanks in advance.
You can access tables created in SQL from ABL only if they are created in PUB schema.
If the tables are created in PUB schema, they are visible form both ABL (Data Dictionary) and SQL.
You can create tables in Type II areas from SQL as well. While creating tables, you have to use AREA clause. If you do not use AREA clause, by default tables are created in Schema area.
You can access tables created in SQL from ABL only if they are created in PUB schema.
If the tables are created in PUB schema, they are visible form both ABL (Data Dictionary) and SQL.
You can create tables in Type II areas from SQL as well. While creating tables, you have to use AREA clause. If you do not use AREA clause, by default tables are created in Schema area.
Thanks for the info.
also, don’t forget to use the AREA clause with the CREATE INDEX statement to say where to put the index you are creating.
Is there a way to determine what tables were created using SQL?
tables are tables. it makes no difference /how/ they were created and it shouldn’t.
that said, there might be but off the top of my head, i don’t know for sure.
if you look in the schema area and find things with weird names that were system assigned, then they were created by an SQL client. example: if you create a table and specify a primary key in the create table statement (which you should not do).