как переслать double через jdbc в бинарном виде?
От: Аноним  
Дата: 08.02.06 15:30
Оценка:
Hi all. Есть прога на джаве которая общается с БД через jdbc. В базе есть поле типа double, и в программе есть переменная типа double, хочу туда сюда данные пересылать.

В методе executeQuery(string) на вход нужна строка, в prepareStatement запрос тоже задаётся строкой а потом добавляется с помошью различных set-ов. Дык вопрос как быть уверенным что информация уйдёт в базу в бинарном виде без двойного преобразования — в текст и обратно?
Re: как переслать double через jdbc в бинарном виде?
От: C0s Россия  
Дата: 08.02.06 16:44
Оценка:
Здравствуйте, Аноним, Вы писали:

А>В методе executeQuery(string) на вход нужна строка, в prepareStatement запрос тоже задаётся строкой а потом добавляется с помошью различных set-ов. Дык вопрос как быть уверенным что информация уйдёт в базу в бинарном виде без двойного преобразования — в текст и обратно?


если для запроса с таким куском (а именно так правильно подставлять параметры, как минимум, во избежание sql-injection):
where your_table.your_double_field < ?

вызывается
statement.setDouble(1, yourDoubleValue);


то передача текстом или бинарно зависит только от того, как организован протокол взаимодействия клиента и сервера конкретной СУБД. т.е. можно взять исходники (или дизассемблировать классы) jdbc-драйвера и посмотреть, что же именно и в каком виде пишется при передаче данных на сервер (в tcp-поток)
Re: как переслать double через jdbc в бинарном виде?
От: alex_ez Россия alex.jife.ru
Дата: 09.02.06 03:24
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Hi all. Есть прога на джаве которая общается с БД через jdbc. В базе есть поле типа double, и в программе есть переменная типа double, хочу туда сюда данные пересылать.


А>В методе executeQuery(string) на вход нужна строка, в prepareStatement запрос тоже задаётся строкой а потом добавляется с помошью различных set-ов. Дык вопрос как быть уверенным что информация уйдёт в базу в бинарном виде без двойного преобразования — в текст и обратно?


см. binary
silence in quite
Re[2]: как переслать double через jdbc в бинарном виде?
От: stuav  
Дата: 09.02.06 09:01
Оценка:
Здравствуйте, C0s, Вы писали:

C0s>Здравствуйте, Аноним, Вы писали:


А>>В методе executeQuery(string) на вход нужна строка, в prepareStatement запрос тоже задаётся строкой а потом добавляется с помошью различных set-ов. Дык вопрос как быть уверенным что информация уйдёт в базу в бинарном виде без двойного преобразования — в текст и обратно?


C0s>если для запроса с таким куском (а именно так правильно подставлять параметры, как минимум, во избежание sql-injection):

C0s>
where your_table.your_double_field < ?

C0s>вызывается
statement.setDouble(1, yourDoubleValue);


C0s>то передача текстом или бинарно зависит только от того, как организован протокол взаимодействия клиента и сервера конкретной СУБД. т.е. можно взять исходники (или дизассемблировать классы) jdbc-драйвера и посмотреть, что же именно и в каком виде пишется при передаче данных на сервер (в tcp-поток)


Спасибо, а без копания в исходниках — ни как? в документации к дровам этот вопрос ни как не освещён, для справки субд — PostgreSQL
Re[2]: как переслать double через jdbc в бинарном виде?
От: stuav  
Дата: 09.02.06 09:02
Оценка:
Здравствуйте, alex_ez, Вы писали:

_>Здравствуйте, Аноним, Вы писали:


А>>Hi all. Есть прога на джаве которая общается с БД через jdbc. В базе есть поле типа double, и в программе есть переменная типа double, хочу туда сюда данные пересылать.


А>>В методе executeQuery(string) на вход нужна строка, в prepareStatement запрос тоже задаётся строкой а потом добавляется с помошью различных set-ов. Дык вопрос как быть уверенным что информация уйдёт в базу в бинарном виде без двойного преобразования — в текст и обратно?


_>см. binary


К сожелению не понял, если не трудно можно ответ по развёрнутей?
Re[3]: как переслать double через jdbc в бинарном виде?
От: Blazkowicz Россия  
Дата: 09.02.06 09:17
Оценка:
Здравствуйте, stuav, Вы писали:

S>Спасибо, а без копания в исходниках — ни как?


А почему нельзя просто положиться на разработчиков драйвера?

S>в документации к дровам этот вопрос ни как не освещён, для справки субд — PostgreSQL

Для справки JDBC драйвер для PostgreSQL он не один:

http://developers.sun.com/product/jdbc/drivers/search_results.jsp?jdbc_version=0&amp;vendor_name=&amp;cert_mode=and&amp;jdbc_driver_type_mode=and&amp;dbms=63&amp;dbms_mode=and&amp;features_mode=and&amp;results_per_page=20&amp;submit=Search
Re[4]: как переслать double через jdbc в бинарном виде?
От: stuav  
Дата: 09.02.06 09:39
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, stuav, Вы писали:


S>>Спасибо, а без копания в исходниках — ни как?


B>А почему нельзя просто положиться на разработчиков драйвера?


S>>в документации к дровам этот вопрос ни как не освещён, для справки субд — PostgreSQL

B>Для справки JDBC драйвер для PostgreSQL он не один:

B>http://developers.sun.com/product/jdbc/drivers/search_results.jsp?jdbc_version=0&amp;vendor_name=&amp;cert_mode=and&amp;jdbc_driver_type_mode=and&amp;dbms=63&amp;dbms_mode=and&amp;features_mode=and&amp;results_per_page=20&amp;submit=Search


как раз он один http://jdbc.postgresql.org/download.html, просто немного по разному написан
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.