У меня есть рубиновый скрипт, который я запускаю с помощью JRuby Interpreter. Сценарий подключается к базе данных Sybase с использованием DBI и Sybase JDBC (jTDS3.jar и jconn3.jar)JRruby, Sybase JDBC и DBI - выборка имени столбца с вопросом о статье AS
Моя проблема заключается в том, что у меня есть запрос выбора, который изменяет имена столбцов таблицы. Например:
SELECT
t.TRANSACTION as 'business_transaction',
t.TRADE_CURRENCY as 'currency',
t.CURRENCY as 'settlement_currency'
...etc...
FROM
TRADE t
...etc...
Моя проблема при использовании примеров непосредственно из documentation
sth = dbh.execute(stmt)
printf "Number of rows: %d\n", rows.size
printf "Number of columns: %d\n", sth.column_names.size
sth.column_info.each_with_index do |info, i|
printf "--- Column %d (%s) ---\n", i, info["name"]
end
или просто
sth = dbh.execute(stmt)
rows = sth.fetch_all
col_names = sth.column_names
sth.finish
DBI::Utils::TableFormatter.ascii(col_names, rows)
Не все имена вышли, как я поставил их используя предложение «as» в запросе. Некоторые из них являются исходными именами полей, а некоторые - именами, которые я указал.
Например, они будут перечислены как:
--- Column 0 (TRANSACTION) ---
--- Column 1 (TRADE_CURRENCY) ---
--- Column 2 (settlement_currency) ---
или
TRANSACTION
TRADE_CURRENCY
settlement_currency
При тестировании этого в Squirrel SQL Client столбцы правильно названы так это ошибка в DBI или драйверы Sybase JDBC ? или я делаю что-то неправильно?
Любая помощь будет принята с благодарностью
Я бы не стал ставить на него :-) – Spasm
Рад слышать, что вы нашли исправление. Пока это не было в JRuby, я тоже счастлив :) –