in reply to Generate A DDL From Access

$dbh->column_info() doesn't provide index, pk information.
But $dbh->statistics_info() will return it.
I am using it through DBD::ADO and it seems working.

ddl like
create table test1 (test1 varchar(14)); create index test1_pk on test1 (test1);
creates "tabel1" with primary key and column_info() returns information like this
###Table: test1, test1, VarChar, 14,
And statistics_info() will return index information like this.
###Indeces: test1_pk( btree,non unique) columns=1:test1
I hope this helps you.

Replies are listed 'Best First'.
Re^2: Generate A DDL From Access
by Limbic~Region (Chancellor) on Mar 03, 2012 at 17:00 UTC
    remiah,
    Grrr. I had a nice long response and lost it.

    Would it be possible to share what you are using for a connection string and a complete copy/paste of what you see for table_info(), column_info() and statistics_info(). I am trying to determine if things like collate, constraints, etc will be available and I am having problems getting a connection working.

    Cheers - L~R

      I am not sure about collate. If you find one, please tell me. Here is my code. Method "describe" calls collumn_info() and statistics_info().

      And my quistion: I want to make a package which treats MS access dialect (they treat '*' for '%' and no limit, offset keyword). Package which can do like this.

      my $db=connect(\%dbinfo) or die $!; my $sql ="select * from test1 where fld1 like 'monk%' offset 10 limit +10"; foreach my $r ( $db->fetch($sql) ){ print "$r->{fld1}\n"; } $db->disconnect;
      I want to make a package which can easily switch MS Access and other database like SQLite. I am interested in DBIX::Class but I am not sure it is the way to go... If you have some advice for me, I am glad. Any comments, advice, welcome.