Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / c#, чтение/запись ora blob файла / 12 сообщений из 12, страница 1 из 1
07.12.2012, 11:47
    #38069267
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
VS2010, c# .NET, System.Data.OracleClient

Смысл - архив залить в БД Ora ... тут проблем вроде как нет... проблема с чтением
Пишем в базу (существующий файл архива записываем в БД):

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
  
 string zip_name = ini_param.StartPath + @"\in_txt.zip";

 byte[] ImageData = File.ReadAllBytes(zip_name);

 OracleParameter oracleParameter = new OracleParameter();
 oracleParameter.ParameterName = "BODYXML";
 oracleParameter.OracleType = OracleType.Blob;
 oracleParameter.Direction = ParameterDirection.Input;
 oracleParameter.Size = ImageData.Length;
 oracleParameter.Value = ImageData;
 command.Parameters.Add(oracleParameter);



смотрим ImageData - выписываем на литсочек первые 10 значений ...

Читаем(из поля blob создаем файл):

Код: c#
1.
2.
3.
4.
5.
6.
    string zip_name = ini_param.StartPath + @"\out_txt.zip";

    OracleLob blob = rdr.GetOracleLob(14);
    byte[] buffer = new byte[blob.Length];

    File.WriteAllBytes(zip_name, buffer);



Визуально если в дебагере открыть ImageData,buffer они одинаковы, по размерам одинаковы .. но после чтения из базы созданный файл архива не открывается ... (( печаль ..
...
Рейтинг: 0 / 0
07.12.2012, 11:57
    #38069307
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
вот что значит изложить проблему ))
пропустил строчку
Код: c#
1.
blob.Read(buffer, 0, buffer.Length);
...
Рейтинг: 0 / 0
07.12.2012, 12:28
    #38069399
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
Masygreen,

Код: c#
1.
2.
using(var fs=new FileStream(ini_param.StartPath + @"\out_txt.zip", ...))
	rdr.GetOracleLob(14).CopyTo(fs);



попробуйте так
...
Рейтинг: 0 / 0
07.12.2012, 13:07
    #38069548
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
pationMasygreen,

Код: c#
1.
2.
using(var fs=new FileStream(ini_param.StartPath + @"\out_txt.zip", ...))
	rdr.GetOracleLob(14).CopyTo(fs);



попробуйте так

оо прикольный вариант .. спс
...
Рейтинг: 0 / 0
07.12.2012, 13:36
    #38069651
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
MasygreenpationMasygreen,

Код: c#
1.
2.
using(var fs=new FileStream(ini_param.StartPath + @"\out_txt.zip", ...))
	rdr.GetOracleLob(14).CopyTo(fs);



попробуйте так

оо прикольный вариант .. спс

Magic number гавнокод. Когда прикроют лавочку в .NET с этим убожеством System.Data.OracleClient?
...
Рейтинг: 0 / 0
07.12.2012, 14:40
    #38069834
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
МСУ,

ну модуль очень большой с ходу переписать под ODP не получилось, а из-за одного поля менять всю прослойку с БД .. хмм .. сомнительное удовольствие за которое ни кто платить не собирается )) надо было решение простое ...
...
Рейтинг: 0 / 0
07.12.2012, 16:28
    #38070089
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
Masygreenс ходу переписать под ODP не получилось
ODP тоже на помойку.

P.S. Ну если много переписывать - это аргумент. Тогда вопросов больше не имею :)
...
Рейтинг: 0 / 0
10.12.2012, 08:22
    #38071888
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
МСУ, а так в плане общего развития, в какую сторону идти предлагаешь ?
...
Рейтинг: 0 / 0
10.12.2012, 09:42
    #38071930
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
MasygreenМСУ, а так в плане общего развития, в какую сторону идти предлагаешь ?
Entity Framework, LINQ and Model-First for the Oracle Database
NHibernate with Oracle
...
Рейтинг: 0 / 0
10.12.2012, 10:52
    #38072005
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
МСУ, я вот в простых БД согласен полностью, а вот как оно будет себя с бинарными blob вести ?? ну это на перед , если вдруг проект новый возникнет ...
...
Рейтинг: 0 / 0
10.12.2012, 12:23
    #38072185
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
MasygreenМСУ, я вот в простых БД согласен полностью, а вот как оно будет себя с бинарными blob вести ?? ну это на перед , если вдруг проект новый возникнет ...
Это для всех БД, а не только простых. С blob оно себя ведёт великолепно:

http://codearticles.ru/Home/ArticleView/1487

что может быть проще? :)
...
Рейтинг: 0 / 0
10.12.2012, 13:16
    #38072325
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
c#, чтение/запись ora blob файла
МСУ,в очередной раз спасибо гуру (это без иронии) ...
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / c#, чтение/запись ora blob файла / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]