Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с Oracle. поля типа CLOB, Oracle 10 
:(
    Опции темы
Syrex
Дата 14.8.2008, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 9.2.2006
Где: Москва

Репутация: нет
Всего: 1



При выполнении запроса select из таблицы, где есть поле с типом CLOB программа вылетает с ошибкой, что неизвестен такой тип поля.
В качестве подключения использую OleDb

PM MAIL ICQ   Вверх
1stain
Дата 14.8.2008, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 5
Всего: 40



к сожалению все телепаты в отпуске, поэтому неплохо было бы узнать подробнее об исключении, а также посмотреть кусок кода, где оно генерируется.


--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
Syrex
Дата 14.8.2008, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 9.2.2006
Где: Москва

Репутация: нет
Всего: 1



Выдает ошибку: Тип данных не поддерживаеться

Код

OleDbConnection BaseCon=new OleDbConnection ("provider=MSDAORA;Data Source=CARD;User ID=AAA;Password=E12345;");
OleDbCommand SelCom=new OleDbCommand("select Name, TextField from Tbl", BaseCon);
OleDbDataeader Query=SelCom.ExecuteReader(); //вот тут выскакивает ошибка


PM MAIL ICQ   Вверх
1stain
Дата 14.8.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 5
Всего: 40



к сожалению видимо только нативным провайдером можно вытянуть...


--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
MasterOfCode
Дата 15.8.2008, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Юзай компоненты System.Data.OracleClient
Код

    OracleConnection cnnOra;
    OracleCommand cmdOra;
    OracleDataReader drOra;
    cnnOra = new OracleConnection("Data Source=DS;User Id=usr;Password=pwd;Integrated Security=no;");
    try
    {
        cnnOra.Open();
    }
    catch (Exception exception)
    {
        //...
    }
    cmdOra = cnnOra.CreateCommand();
    cmdOra.CommandText = "select clob_field from table_name where id= " + id.ToString();
    drOra = cmdOra.ExecuteReader();
    using (drOra)
    {
        drOra.Read();
        OracleLob clob = drOra.GetOracleLob(0);
        StreamReader streamReader = new StreamReader(clob, Encoding.Unicode);
        //delaem chto hotim :)
    }


Иногда поиск помогает smile


--------------------
user posted image
PM ICQ   Вверх
Idsa
Дата 16.8.2008, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(MasterOfCode @  15.8.2008,  13:19 Найти цитируемый пост)
Юзай компоненты System.Data.OracleClient

OracleClient - поделка мелкомягких. Лучше использовать ODP (Oracle Data Provider): http://www.oracle.com/technology/tech/wind...pnet/index.html


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
charodej
Дата 26.8.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 26.3.2008
Где: Тула

Репутация: нет
Всего: нет



столкнулся с подобной проблемой, также юзаю OleDb, но LOBs не достаются и поэтому собираюсь переписать на OracleClient или на ODP, и возникли вопросы:
1. нельзя ли ссылочки на лицензии по которым эти библиотеки распространяются, 
2. почему ODP лучше? (если Oracle Client предоставляет классы типа OracleLob и прочие вкусности) 
3. входит ли библиотека OracleClient в стандартную установку Net 
PM MAIL ICQ   Вверх
EgoBrain
Дата 30.8.2008, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Клиент к Oracle в стандартную сборку .NET не входит, и ставиться отдельно. А по части чем лeчше ODP я бы тоже хотел узнать. Юзаю OracleClient 9.0 через System.Data.OracleClient и никаких проблем в соседстве с orant (8 клиент) нет...
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.