Рыбяты! поможите кто чем можете! (Paradox, Blob'ы, ADO)

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
DeadMazai
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.01.2005 (Пн) 20:28

Рыбяты! поможите кто чем можете! (Paradox, Blob'ы, ADO)

Сообщение DeadMazai » 14.03.2005 (Пн) 21:04

Ребята! Помогите! Погибаю!

Есть такой набор:
таблица Paradox - 1 шт.
в таблице поля Blob - 3 шт.
ADO Recordset - 1 шт.

Теперь суть проблемы:
пишу код получения данных из таблицы, все работает прекрасно, смотрю Recordset и что вижу? Правильно! Вижу фигу!
Кароче говоря, в Recordset'е присутствуют ВСЕ поля КРОМЕ blob-полей Вот мне и интерессно - это у меня руки растут из известного места или тут проблема покруче?

Заранее благодарен за ответ

Krasavica
Небожительница
Небожительница
Аватара пользователя
 
Сообщения: 1378
Зарегистрирован: 04.11.2003 (Вт) 17:51
Откуда: Россия, город-герой Москва ;-)

Сообщение Krasavica » 15.03.2005 (Вт) 16:21

Как мне видится к сожалению НИКАК :(

Не поднимает ADO парадоксовские блоб поля.
я - ангел!!! ...просто крылья в стирке, а нимб на подзарядке!
Меня трудно найти, легко потерять и невозможно забыть.Изображение

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 15.03.2005 (Вт) 16:41

DeadMazai писал(а):Есть такой набор:

Штатное средство ADO для извлечения инфы из blob-полей - объект Stream. Пробовалось?

Код: Выделить всё

Dim Stream1 As New ADODB.Stream
With Stream1
   .Type = adTypeBinary
   .Open
   .Write Recodrset1.Fields(<некоторое blob-поле>).Value
   .SaveToFile (<путь к файлу>)
   .Close
End With
Set Stream1 = Nothing

DeadMazai
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.01.2005 (Пн) 20:28

Сообщение DeadMazai » 15.03.2005 (Вт) 21:18

Sedge суть проблемы не в том как считать информацию из рекордсета, а в том как ентую информацию получить в рекордсет :(
Хотя после энного кол-ва экспериментов я склонен согласиться с Krsavic'ой - нифига тут не поделаешь :(
Эхххх, а счастье было так возможно...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.03.2005 (Ср) 8:35

А через какого провайдера подключаешься?
Попробуй через ODBC. В крайнем случае вместо ADO попробуй использовать DAO.
Lasciate ogni speranza, voi ch'entrate.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 16.03.2005 (Ср) 10:55

DeadMazai писал(а):Sedge суть проблемы не в том как считать информацию из рекордсета, а в том как ентую информацию получить в рекордсет :(

Так. Давай от сотворения мира.
1. Какой провайдер используется?
2. Как открывается рекордсет (код)?
3. С какими сомптомами blob-поля не включаются в рекордсет (при их явном указании в SQL-запросе)? Т.е. - ошибка на стадии подключения, ошибка на стадии обращения к полю или что-то другое.
4. Термин "смотрю Recordset" недостаточнен для локализации проблемы. Как именно осуществляется просмотр рекордсета (код)? Какие ошибки возникают? И если не возникают, то исходя из каких критериев определяется отсутствие blob-полей?

В общем - чем больше подробностей, тем лучше...

DeadMazai
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.01.2005 (Пн) 20:28

Сообщение DeadMazai » 17.03.2005 (Чт) 21:26

Sedge, ок, давай по порядку:
1. Провайдер ОЛЕ Лукойе... тьфу блин OLEDB, при попытке использовать ODBC сильна ругается и говорит "ODBC connection to C:\db\ failed"

2. Код пишу следующий:
Код: Выделить всё

Private db As DAO.Database
Private rs As DAO.Recordset

Private Sub OpenRecordset()
Set db = DBEngine(0).OpenDatabase("C:\db\", 0, 0, "Paradox   5.x;UID=USER;PWD=PASSWORD;")
Set rs = db.OpenRecordset("ustable#DB")
End sub


(ну или что-то в етом роде, вариантов перепробывал много)

Причем и DAO и ADO дают идентичный результат.

3. Блобы не включаются никак, как их не указывай
4. А рекордсет я смотрю элементарно: выхожу на брейкпоинт и смотрю свойства рекордсета в "локалс" свойство Fileds.Count = 31, а должно быть 34 !!! :)

Так что такие вот дела
Sedge, может брось меня? А лучше пристрели чтоб не мучился :)

З.Ы. Sedge, а у тебя, случайно, не было опыта работы с етими долбанными блобами? если есть наработки может можно глянуть одним глазком? Буду оченна благодарен

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Re: Рыбяты! поможите кто чем можете! (Paradox, Blob'ы, ADO)

Сообщение codemaster » 17.03.2005 (Чт) 23:43

DeadMazai писал(а):Ребята! Помогите! Погибаю!

Есть такой набор:
таблица Paradox - 1 шт.
в таблице поля Blob - 3 шт.
Заранее благодарен за ответ


У тебя набор файлов
DBF и DBT ?
//<-
Mit freundlichen Grüßen
//->

DeadMazai
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.01.2005 (Пн) 20:28

Сообщение DeadMazai » 19.03.2005 (Сб) 2:32

Codemater, у меня простой парадоксовский файл .db, а с ним еще несколько с тем же именем и расширениями: .mb, .px, .val, .xg0 и .yg0 :cry:

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 19.03.2005 (Сб) 13:22

выложи хоть один свой .db файлик сюда - посмотрим , что можно сделать


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 1

    TopList  
cron