Ik heb ooit eens met een access database gewerkte via JDBC-ODBC. Daarmee kan je allerlei metadata benaderen zoals aanwezige tabellen, kolommen en data-typen van die kolommen. Ik neem aan dat dit met ODBC alleen dus ook geen probleem is.
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Je kunt via jdbc-odbc niet alle meta data ophalen, zoals sleutels en relaties. Onze vriendelijke microsoft driver die zegt dan dat ie die functies niet geimplementeerd heeft terwijl andere serieuze databases deze problemen niet hebben. Dit zal dus ook gelden voor odbc alleen.
Volgens mij heeft M$ hier wel een tooltje voor... ik heb namelijk ook een keer een tooltje voor Access gedowned, SQL Server upsizing tool, die ook de meta data naar de SQL Server overzette.
Volgens mij werkt deze tool ook van SQL Server naar Access. Ik ga hem effe opzoeken...
Volgens mij werkt deze tool ook van SQL Server naar Access. Ik ga hem effe opzoeken...
edit:
Gevonden!
Gevonden!
Een voorbeeldje
[edit] Ojee.. dit is geen java topic
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Connection con = .....
DatabaseMetadata dbMetaData = con.getMetaData();
ResultSet tableResultSet = dbMetaData.getTables(null,null,null,new String[]{"TABLE"});
while(tableResultSet.next())
{
String tableName = tableResultSet.getString(3);
System.out.println("table:"+tableName);
ResultSet columnResultSet = dbMetaData.getColumns(null,null,table,null);
while (columnResultSet.next())
{
Column columnName = columnResultSet.getString(4);
System.out.println("column:"+columnName);
//als je nog meer metadata wilt zien over columns dan moet je
//de dbMetaData.getColumns methode even bekijken, hierin kun je zien
//welk type een column is, of die nullable is etc etc..
}
} |
[edit] Ojee.. dit is geen java topic