Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/26: Рейтинг темы: голосов - 26, средняя оценка - 4.85
Maximilian
1

Как сохранить большой текст в БД mySQL?

15.12.2009, 21:23. Показов 4800. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем добрый день.

Вопрос такой.
В базе данных «mySQL», нужно сохранить текст, где-то на 1000 символов.(Так –как VarChar сохраняет только 250 символов). Можно конечно создать 4 колонки, и текст распихать по ним, но хотелось бы все в одной колонке.

Я пробовал создавать колонку типа «Blob», или типа «Text».
Как мне достать этот текст?

Что я сделал:

Java
1
String s1 = rs.getBlob(“column_name”).toString();
Ошибку не выдает, но и текст не показывает, выдает что-то вроде названия объекта.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2009, 21:23
Ответы с готовыми решениями:

Как сохранить большой текст в базе данных
Пишу подобие форума на spring boot. Данные сохраняю в базу данных. Только что понял, что если...

Как сохранить текст в базу данных mysql?
имеется условие на рандом, этот рандом выводится в alert как сохранить полученное значение в базу...

Как сохранить текст в MySQL и не терять переход на новую строку?
После хранения текста из textarea в MySQL ДБ и получения этого текста в РНР страницу у меня...

Не сохраняет большой (длинный) текст в бд MySQL
Добрый день. такая проблема. есть форма <div id="text"> <h1>Добавить заявку</h1>...

4
0 / 0 / 1
Регистрация: 21.09.2009
Сообщений: 184
15.12.2009, 22:21 2
Java
1
2
3
4
5
6
7
8
9
java.sql.Blob blob = rs.getBlob(“column_name”);
InputStream dataStream = rs.getBinaryStream();
try {
 
// chitaesh' dannye 
 
} finally {
   dataStream.close();
}
Mogesh' esche poprobovat'

Java
1
String str = new String( blob.getBytes(1, blob.length() );
0
0 / 0 / 0
Регистрация: 20.10.2008
Сообщений: 24
16.12.2009, 13:17 3
а можешь просто String s1=rs.getString('column_name') ...если поле TEXT
0
Maximilian
18.12.2009, 20:19 4
Может кому пригодится…, демонстрирую последнюю версию как достать текст записанный в виде объекта Blob в базе mySQL (Текст больше 250 символов):

Java
1
2
3
4
5
6
7
8
9
String g7;
 
BufferedReader in = new BufferedReader(new InputStreamReader(rs.getBinaryStream('Column_name')));
String line; StringBuffer ttt = new StringBuffer();
try{
while((line = in.readLine()) !=null){ttt.append(line);}
g7 = ttt.toString();
}catch(IOException ioe){}
finally{in.close();}
Хорошая ссылка по этому вопросу:

http://www.asmodeus.com.ua/lib... et.doc.htm

Теперь где можно наступить на грабли
С помощью ResultSet возможно получать очень большие данные типа LONGVARBINARY или LONGVARCHAR. Методы getBytes и getString возвращают эти данные в виде одного большого куска (вплоть до пределов, которые можно узнать с помощью метода Statement.getMaxFieldSize). Тем не менее, может оказаться удобнее считывать очень большие данные небольшими кусками. Это делается с помощью потоков (java.io.InputStream), которые возвращаются некоторыми методами ResultSet. >>>>>>Обратите внимание на то, что к этим потокам надо обращаться сразу, так как они будут закрыты при следующем вызове getXXX объекта ResultSet. (Такое поведение диктуется низкоуровневой реализацией доступа к большим двоичным объектам)<<<<<<<
3 / 3 / 3
Регистрация: 09.07.2008
Сообщений: 422
24.12.2009, 11:12 5
setASCIIStream()
getASCIIStream()
0
24.12.2009, 11:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2009, 11:12
Помогаю со студенческими работами здесь

Как сохранить большой текстовый файл в txt?
Вообщем пишу я тест, в конце теста выдаются коротки результаты в балах, но в этот момент, например...

Как забросить большой дамп в mysql?
есть большой файл и надо его забросить в базу данных MYSQL

Как загрузить большой дамп БД в MySQL?
Здравствуйте. Не получается загрузить дамп БД (около 500 мб) через PhpMyAdmin...

Как вывести большой текст ?
Дорогие форумчане, всегда находила ответ в вашем форуме по разным программам. Но сейчас не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru