Is there a way to find the primary key(s) for an Access Database table? Sun's JDBC-ODBC driver does not implement the getPrimaryKeys() method for the DatabaseMetaData Objects.

Percy Wong


// Use meta.getIndexInfo() will get you the PK index. Once
// you know the index, retrieve its column name

DatabaseMetaData meta = con.getMetaData();

String key_colname = null;

// get the primary key information
rset = meta.getIndexInfo(null,null, table_name, true,true);
while( rset.next())
{
  String idx = rset.getString(6);
  if( idx != null)
  {
    //Note: index "PrimaryKey" is Access DB specific
    //      other db server has diff. index syntax.
    if( idx.equalsIgnoreCase("PrimaryKey"))
    {
      key_colname = rset.getString(9);
      setPrimaryKey( key_colname );
    }
  }
}
0 Comments  (click to add your comment)
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

About | Sitemap | Contact