Oracle JDBC Resultset.getString ("COLUMN_DEF") возвращает строку в кавычках в нижнем регистре - PullRequest
0 голосов
/ 13 декабря 2018

С драйвером JDBC oracle (ojdbc7.jar), когда я делаю x = Resultset.getString ("COLUMN_DEF") для столбца, где значением по умолчанию является "N / A" в базе данных ("N / A" установлено всоздание таблицы, 'N / A' видно с помощью инструмента DBeaver), драйвер JDBC возвращает x = "'n / a'" (с postgres и mysql возвращает x = "N / A").

do youиметь представление о том, почему оно в нижнем регистре и почему оно заключено в строку результата?

Заранее благодарим за любую помощь по этому вопросу!

PS: как я используюобъект метаданных базы данных:

private static void readColumnMetaData(AMIDBLoader dbLoader, DatabaseMetaData metaData, String internalCatalog, String externalCatalog, String _table, Map<String, String> amiEntityMap, Map<String, String> amiFieldMap) throws SQLException
    {
        try(ResultSet resultSet = metaData.getColumns(internalCatalog, internalCatalog, _table, "%"))
        {
            while(resultSet.next())
            {
                String table = resultSet.getString("TABLE_NAME");
                String name = resultSet.getString("COLUMN_NAME");
                String type = resultSet.getString("TYPE_NAME");
                int size = resultSet.getInt("COLUMN_SIZE");
                int digits = resultSet.getInt("DECIMAL_DIGITS");
                String def = resultSet.getString("COLUMN_DEF");

код для создания таблицы:

CREATE TABLE "router_locations" ( 
"id" NUMBER(*, 0),
"continentCode" VARCHAR2(3) DEFAULT 'N/A',
"countryCode" VARCHAR2(3) DEFAULT 'N/A' 
);; 

Джером

1 Ответ

0 голосов
/ 18 декабря 2018

Нам удалось выяснить, где была изменена строка, и с драйвером JDBC все в порядке .. спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...