|
|
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Добрый вечер! Кто-нибудь может сказать, почему команда Blob outBlob = Connection. не предлагает метод createBlob . И вообще не предлагает ни одного метода? Импорт классов Blob и Connection выполнен. Хотел прикрепить картинку, но не сумел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2017, 21:37 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
если не предлагает значит нет. если нет, значит импортировано не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2017, 21:56 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Nixic, Мне посоветовали скопировать JDK. Кроме того, поля на картинке точно из этого класса. Я хотел воспользоваться исходным кодом, выдернуть из него нужный метод.. Скопировал себе класс, на картинке видно. Но, к сожалению кода там не оказалось! Только комментарии и описания методов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2017, 22:14 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Перед тем как начинать программировать, хорошо бы хоть какую нибудь книжку почитать Ну или перед тем, как начинать творить, хорошо бы хоть один пример из книжки набрать так, как он приведен в книжке. Ну и отличать экземпляр объекта от класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 09:15 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Создание Blob-а несколько различается в зависимости от СУБД. Смотреть в документации к JDBC драйверу к ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 10:09 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Спасибо за совет. Обязательно учту! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 11:18 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Partisan MСоздание Blob-а несколько различается в зависимости от СУБД. Смотреть в документации к JDBC драйверу к ней. Создание Blob'а по стандарту JDBC никак от СУБД отличаться не может. Ну и что можно сказать на желание что бы IDE "предлагала метод" и использование класса Connection вместо объекта этого типа. Что бы избежать ошибки, было достаточно скопировать (подумавши!) любой пример из книжки и на его основе попытаться сделать что-то свое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 11:58 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Partisan M, Я предполагаю, что Ваше замечание относится, скорее, не к самому Blob как к элементу данных, а к его использованию (получению информации и возвращению в БД). В моем случае вопросы использования не стоят: Я (в цикле) беру картинку в формате String base16 из файла модели UML (файл .xml), преобразую ее в битовый массив, создаю экземпляр Blob, заполняю его содержанием битового массива и сохраняю заполненный экземпляр Blob в файле отчета BIRT (другой файл .xml). В этой цепочке есть только один вопрос: создание экземпляра объекта типа Blob. Умные люди советуют посмотреть и исполнить примеры из книжек. Я больше 50 лет программирую, хотя по должности программистом никогда не был. Но так поступаю всегда, когда сталкиваюсь с новым для меня языком или областью деятельности. Ни один из примеров создания Blob мне повторить не удалось. Предполагаю, что я использую "кривую" библиотеку java.sql. Вчера скачал jdk-8u121-windows-x64. Эта сборка содержит архив исходных кодов, готовых файлов jar я не обнаружил. Допускаю, что я делал что-то не так, но исходный код для пакета java.sql содержит только определения классов, поля классов, определения методов без тела методов и комментарии. Компиляция класса Connection без тела методов и дает результат, показанный на картинке в моем первом сообщении: поля есть, а методов нет. Кто то может подсказать версию JDK, которая точно полностью работоспособна? Или, что неправильно я делал с исходными кодами. М.б., где то есть "секретная" опция, которая "допускает" "скрытую" часть кода. Или, альтернативный вариант, может выслать мне работоспособный пакет java.sql.jar или соответствующий исходник? Большое спасибо. Если есть вопросы по моделированию (системному или бизнес) - обращайтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 12:13 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Lnew, спасибо за терпение. lnewВ этой цепочке есть только один вопрос: создание экземпляра объекта типа Blob. Если Все остальное Вам понятно - покажите пример кода, что получилось, приведите пример Вашего кода, что не получилось и задайте вопрос. Пока что, у Вас неправильно ВСЕ. Т.ч. как-то комментировать или пытаться ответить на Ваше первое сообщение, банально не возможно. Единственный ответ который можно получить на такой вопрос, это только "черный юмор" lnewЯ больше 50 лет программирую, хотя по должности программистом никогда не был. Но так поступаю всегда, когда сталкиваюсь с новым для меня языком или областью деятельности. ))) lnewКто то может подсказать версию JDK, которая точно полностью работоспособна? Или, что неправильно я делал с исходными кодами. М.б., где то есть "секретная" опция, которая "допускает" "скрытую" часть кода. Нет. Вряд ли. Т.к. ответ "любая" наверное будет не очень точен. А точно сказать версию JDK которая была бы не работоспособна - так же сложно. Я таких не помню. У меня сейчас стоит dk1.8.0_65, проблем не видно. Как и с другими JDK lnewИли, альтернативный вариант, может выслать мне работоспособный пакет java.sql.jar или соответствующий исходник? Опять таки, сомневаюсь, что кто-то сможет: 1) java.sql.jar нету в прероде. Классы java.sql входят в стандартный пакет (rt.jar) 2) Исходник в сети найти легко. На зачем он Вам нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 12:34 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev1) java.sql.jar нету в природе. Классы java.sql входят в стандартный пакет (rt.jar) И судя по тому, как отреагировала Ваша IDE, данный пакет к ней подключен. Т.ч. никакой java.sql Вам не нужен, он и так у Вас есть и корректно __работает__ Хорошо бы: 1) Почитать книжки по Java. 2) Соединится с БД (тогда у Вас и проблемы бы не было) 3) Научится выполнять банальные SQL команды 4) Научится работать с BLOB IMHO как-то в такой последовательности ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 12:38 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
По Вашему исходному вопросу: 1. Среда не предлагает, т.к. в КЛАССЕ Connection нет никаких методов, только пара констант. 2. Что бы создать блоб, нужно вызвать метод в экземплеря объекта, т.е. что-то вида: Connection conn = DriverManager.getConnection(...); Clob myClob = conn.createClob(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 12:43 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
методов - читать нет никаких статических методов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 12:43 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevПо Вашему исходному вопросу: 1. Среда не предлагает, т.к. в КЛАССЕ Connection нет никаких методов, только пара констант. 2. Чтобы создать блоб, нужно вызвать метод в экземплеря объекта, т.е. что-то вида: Connection conn = DriverManager.getConnection(...); Clob myClob = conn.createClob(); Спасибо. Видимо, я не очень внимательно читал про класс Connection, хотя из названия можно понять его главную роль. Т.е., я не могу использовать этот класс для создания Blob, т.к. я не собираюсь соединяться с базой данных. Кстати, ситуация с пакетом oracle.sql та же, хотя классы другие. Тоже нужно указание драйвера. И, возможно, я напрасно считал, что тип Blob такой уж универсальный. Беру таймаут на поиск информации в XML. Еще раз спасибо за терпение! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 15:28 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
lnewТ.е., я не могу использовать этот класс для создания Blob, т.к. я не собираюсь соединяться с базой данных. Чудес все больше и больше. Зачем использовать java.sql и зачем использовать Blob если Вы не собираетесь соединяться с базой данных? Вообще-то BLOB это понятие БД, в отрыве от БД (и соответственно соединения с ней) использовать его полностью бесполезно. lnewситуация с пакетом oracle.sql та же lnewИ, возможно, я напрасно считал, что тип Blob такой уж универсальный. Класс Blob из пакетов java.sql это часть стандарта JDBC. Т.е. вполне можно назвать универсальным. Класс Blob из пакетов Oracle - уже менее универсальный IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 15:35 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
lnewВ моем случае вопросы использования не стоят: Я (в цикле) беру картинку в формате String base16 из файла модели UML (файл .xml), преобразую ее в битовый массив, создаю экземпляр Blob, заполняю его содержанием битового массива и сохраняю заполненный экземпляр Blob в файле отчета BIRT (другой файл .xml). Вам нафиг JDBC и java.sql не нужен То, что Вам нужно, называется простым словом МАССИВ (массив байт) В крайнем случае, возможно можно использовать класс ByteArrayStream для более удобного заполнения массива. IMHO & AFAIK если я правильно понял задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 15:39 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Leonid KudryavtsevlnewВ моем случае вопросы использования не стоят: Я (в цикле) беру картинку в формате String base16 из файла модели UML (файл .xml), преобразую ее в битовый массив, создаю экземпляр Blob, заполняю его содержанием битового массива и сохраняю заполненный экземпляр Blob в файле отчета BIRT (другой файл .xml). Вам нафиг JDBC и java.sql не нужен То, что Вам нужно, называется простым словом МАССИВ (массив байт) В крайнем случае, возможно можно использовать класс ByteArrayStream для более удобного заполнения массива. IMHO & AFAIK если я правильно понял задачу. Имеется инструмент моделирования. В данном случае IBM Rational Software Architect, Результат моделирования сохраняется в файле XML. Изображения иконок сохраняются в этом файле в формате base16 String. Здесь я изменить ничего не могу. Имеется генератор отчетов, в данном случае BIRT. Для него файл модели является источником данных. Я разработал профиль UML для моделирования и управления жизненным циклом предприятия. Он "работает", и кое-кому нравится. Мне нужно представить спецификацию профиля. Спецификация будет иметь список модельных элементов, содержащий, в том числе, иконки модельных элементов. Т.к., особенно в первое время, профиль будет модифицироваться на основе обратной связи с клиентами, я не могу писать спецификацию как Лев Толстой, ручками. Модель профиля - первоисточник, который синхронно изменяет сам профиль. Модель - источник данных для автоматической генерации спецификации. Разработчики BIRT для UML видимо, не подумали о том, что кому-то потребуется включать в отчет иконки модельных элементов (элементы icon). Диагаммы UML (картинки, содержащие иконки элементов) сохраняются как элементы image При проектировании отчета заполняются формы наборов данных: указывается источник данных и столбцы (тип и где брать). Для диаграмм предусмотрен тип данных Blob. Для других данных этот тип не предусмотрен. И, т.к. в исходной модели иконка элемента - это строка, в отчете - пустая ячейка. "Рисовальщик" BIRT понимает только Blob. BIRT предусмотрел возможности вмешательства (заказные обработчики прерываний, и тд). В частности - "вычислимые столбцы". Я им пользуюсь, когда нужно. В данном случае я создаю два столбца (не обязательно в отчет включать все столбцы, некоторые могут быть служебными). Один столбец читает строку изображения с типом данных STRING. Другой столбец - вычислимый. Для него можно выбрать тип Blob. В качестве вычислительного выражения - метод Java, читающий информацию строки из первого столбца. Все, что я могу выбрать - это написать класс, который возьмет строку и возвратит Blob . Т.е. выбор только в способе программирования класса, метод которого фактически - это функция JavaScript. Извините, что так длинно. Привычка объяснять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 18:00 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
lnewРезультат моделирования сохраняется в файле XML. Изображения иконок сохраняются в этом файле в формате base16 String. Здесь я изменить ничего не могу. Ok. С этим понятно. lnewДля него файл модели является источником данных. Ok. lnewДля диаграмм предусмотрен тип данных Blob. Для других данных этот тип не предусмотрен. И, т.к. в исходной модели иконка элемента - это строка, в отчете - пустая ячейка. "Рисовальщик" BIRT понимает только Blob. Я так понимаю, источник данных для BIRT это XML ? Тогда нужно читать документацию, что является по мнению BIRT'а Blob'ом в XML и каким образом эти данные должны быть представлены. lnewBIRT предусмотрел возможности вмешательства (заказные обработчики прерываний, и тд). В частности - "вычислимые столбцы". Я им пользуюсь, когда нужно. В данном случае я создаю два столбца (не обязательно в отчет включать все столбцы, некоторые могут быть служебными). Один столбец читает строку изображения с типом данных STRING. Другой столбец - вычислимый. Для него можно выбрать тип Blob. В качестве вычислительного выражения - метод Java, читающий информацию строки из первого столбца. Опять таки, смотреть документацию. Что является Blob в понятие BIRT и как производится маппинг на Java-функции. Такие вещи, маппинг в любой более-менее нормальной системе должен быть описан в отдельном разделе документации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 18:14 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Ваше первое сообщение - это поиски темной кошки в темной комнате, когда ее там и нет. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 18:15 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Посмотрел доку по BIRT (которую нашел), не увидел, как в Calculated column можно использовать внешние java-функции. Если можно, ткните (ссылка) в доку BIRT на раздел описывающий подключение java-функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 18:20 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Если есть String, который есть base64 картинки, нельзя ли использовать ее напрямую как часть data: URL? В BIRT можно вставлять элемент не Image, а HTML. В нем сделать один тег <img> и вписать ему этот data: url. Это на случай, если элемент Image (или Picture? лень запускать дизайнер) не позволяет указать URL для изображения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 18:25 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Как вариант: https://docs.oracle.com/javase/6/docs/api/java/sql/Blob.html это всего лишь интерфейс. Никто не мешает реализовать имплантацию, реализующую интерфейс java.sql.Blob и основанную на массивах. Кода строк на 100 максимум. Разумеется, стандартные драйвера от вендоров такой имплементации обычно не содержат, заточены для работы с БД. А само ядро JDBC вообще никаких имплементаций интерфейсов не имеет. Но сначала, я бы предпочел посмотреть в документацию по BIRT'у, что бы точно быть уверенным, какое описание ф-ции на java должно быть. Т.к. есть сомнения, что в BIRT все настолько тупо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2017, 18:43 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Извините! У меня порушился системны диск. Вот, восстановился с новым. К сожалению, в документации BIRT этот случай непосредственно не описан. Есть две главы по обработке прерываний, а это несколько иной случай. Очень мельком описана возможность использования JavaScript в полях выражений, например, в столбцах DataSet. Я, когда возникает потребность, пишу класс(ы) Java, а в поле выражения вставляю вызов (на JavaScript) метода класса. К документации BIRT (у меня) претензий много. Но есть толстая книжка (на английском), Расширение и интеграция BIRT, написана очень хорошо. В интернете можно найти первое издание, ок. 500 страниц. Текущее издание - 3-е (больше 700 страниц), в интернете рекламные отрывки. Я собрал много кусков, дополняющих содержание первого издания. Перевел 2 главы (из 25, кажется, вводную по использованию Java и JS и об использовании ODA. Обе - в тему. Например, узнал, куда класть классы Java, чтобы BIRT их увидел. В хелпе я этого не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 17:04 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevПосмотрел доку по BIRT (которую нашел), не увидел, как в Calculated column можно использовать внешние java-функции. Если можно, ткните (ссылка) в доку BIRT на раздел описывающий подключение java-функций. Я написал ответ, но он попал куда-то не на место. Пятнадцать минут назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 17:09 |
|
||
|
java.sql.Connection.createBlob
|
|||
|---|---|---|---|
|
#18+
Тогда разбираться... 1) Проблема, что у Вас не файлы, а непосредственно данные. Если сохранить данные на диске во временных файлах - проблема исчезнет и все должно стать очень просто. Но вот как (когда) эти временные файлы удалять, я не знаю. Выше по топику Alexander A. Sak уже дал очень хороший совет. Для HTML вполне должно сработать. 2) На event'ах - есть похожая тема на стэковерфлов с примером, как создавать изображения в документе. 3) Если Вы уверены, что Вам нужен Blob, то просто сделайте свой класс-имплементацию интерфейса Blob и реализуйте его методы. Собственно данные хранить в обычно массиве. Сложностей быть не должно. IMHO & AFAIK В общем, путей решения масса, но что из этого более простое и рабочее - нужно разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2017, 10:38 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2123012]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
108ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 451ms |

| 0 / 0 |
