Невозможно получить внешние ключи, используя getImportedKeys () или getExportedKeys (), работает только getPrimaryKeys ()

0

Я не могу найти внешние ключи, используя либо getImportedKeys(), либо getExportedKeys() из метаданных. База данных содержит отношения внешних ключей, и getPrimaryKey() работает. Как я могу это исправить?

DatabaseMetaData dbMeta = conn.getMetaData();
System.out.println("Foreign Keys are\n");
ResultSet rs = dbMeta.getExportedKeys("", "", "CUSTOMERS");
while (rs.next()) {
    //System.out.println(rs.getString("FKCOLUMN_NAME"));
    System.out.println(rs.getString("FK_NAME") + "\t" + rs.getString("FKCOLUMN_NAME"));
    }
  • 0
    в базе данных поле помечено как внешний ключ?
  • 0
    Можете ли вы опубликовать код, который вы пытались получить их?
Показать ещё 2 комментария
Теги:
jdbc
foreign-keys

1 ответ

0

попробуйте это и посмотрите, работает ли это :)

private static void printForeignKeys(Connection connection, String CUSTOMERS) throws SQLException {
    System.out.println("Foreign Keys are\n");
    DatabaseMetaData dbMeta= connection.getMetaData();
    ResultSet foreignKeys = dbMeta.getImportedKeys(connection.getCatalog(), null, CUSTOMERS);
    while (foreignKeys.next()) {
        String fkName = foreignKeys.getString("FK_NAME");
        String fkColumnName = foreignKeys.getString("FKCOLUMN_NAME");
        System.out.println(fkName + "." + fkColumnName);
    }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню