Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) ODBCDataBase.ПрисоединитьИБ() - ошибка,что не так? (число прочтений - 5170 )
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
ODBCDataBase.ПрисоединитьИБ() - ошибка,что не так?
11. Января 2007 :: 11:42
Печать  
Пишу следующее:
Код
Выбрать все
	Попытка
		ЛокDB = СоздатьОбъект("ODBCDataBase");
	Исключение
		Сообщить(ОписаниеОшибки());
		Сообщить("Компонента 1С++ не обнаружена","!!");
		Возврат;
	КонецПопытки;
	ЛокODBC = СоздатьОбъект("ODBCRecordSet");
	ЛокMD = СоздатьОбъект("MetaDataWork");
	ЛокDB.ПрисоединитьИБ(СокрЛП(КаталогMDВыгрузки),"Администратор","","Driver={SQL Server};Server=.;Database=base_voda_old;Uid=sa;Pwd=Asd123;");

 


где КаталогMDВыгрузки - реквизит формы, строка длиной 255, на ммоент выполнение содержит текст "C:\1cv77\Vod\OLD_SQL\".
При попытке подключится выдает сообщение:
"Общая файловая ошибка при доступе к un unnamed file". После чего в строке состояние пишет "Выполняется обработка" и 1С висит, снять можно только прибив процес.
Причем, указанный каталог существует, база на SQL2005 Develop+SP1, Ос - WinXP+SP2.
В чем может быть проблема?
  
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #1 - 11. Января 2007 :: 12:04
Печать  
Причем если написать:
Код
Выбрать все
	   ЛокMD = СоздатьОбъект("MetaDataWork");
	Путь = СокрЛП(КаталогMDВыгрузки)+"1Cv7.MD";
	Сообщить(Путь);
	ЛокMD.ПрисоединитьМД(Путь);

 


Ошибка та же.
  
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #2 - 11. Января 2007 :: 17:33
Печать  
Код
Выбрать все
ПутьКИсточнику = СокрЛП(Константа.КаталогБДДоСвертки);

		МетаДатаОЛЕ = СоздатьОбъект("MetaDataWork");
		МетаДатаОЛЕ.ПрисоединитьМД(ПутьКИсточнику+"1cv7.md");

		ИБОЛЕ = СоздатьОбъект("ODBCDataBase");
		ИБОЛЕ.ПрисоединитьИБ(ПутьКИсточнику, "Робот_ОЛЕ", "789456");

		RecordSetOLE = СоздатьОбъект("ODBCRecordSet");
		RecordSetOLE.УстБД(ИБОЛЕ);

		ЕстьОЛЕСоединение = 1;

		Возврат RecordSetOLE;
 

  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #3 - 12. Января 2007 :: 08:34
Печать  
Василий, а ты перед тем как создать ветку не пробовал воспользоваться поиском по даному ресурсу?
или ты эту ветку читал и ненашел в ней ничего полезного по своему вопросу?
и вопрос по существу: какая версия 1С++ тобой используется?
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #4 - 12. Января 2007 :: 16:54
Печать  
Проблема решена, глюк был на жестком диске.
Подскажите ще плиз как получить Метаданные не подключаясь через OLE. Например надо получить идентификаторы справочников и документов (для типизации).
  
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #5 - 12. Января 2007 :: 18:23
Печать  
Еще один Йода  Смех
Обрабатывай после наверное
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #6 - 12. Января 2007 :: 18:43
Печать  
Цитата:
Еще один Йода  Смех
Обрабатывай после наверное

Давно таким аватаром пользуюсь, просто забыл сюда прикрутить.
По поводу обрабатывай - не пройдет, надо подключится и сразу получить что это за таблица и что в ней за данные, думал что возможно сделать подобное (ведь на самом деле ничего сложного, compound разобрать, но ведь 1С++ по идее это уже делает) с помощью 1C++, придется через OLE, ну или compound.dll.
  
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #7 - 12. Января 2007 :: 18:49
Печать  
Насколько я понял тут возможна передача только простых типов (ОЛЕ)
Ну а смысл - что за данные? Они же ни о чем в другой базе не говорят
Принимай может решение в запросе?
ЗЫ. Самому интересно
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #8 - 14. Января 2007 :: 15:04
Печать  
запросы к чужой базе ничем не отличаютс от запросов к своей, за одним маленьким исключением, органичение на значения которые можно вернуть, а ограничение такое как при OLE...
думаю понятно почему...
а так все тоже самое...
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #9 - 22. Января 2007 :: 09:03
Печать  
Нет, проблема немного глубже чем просто полуить запрос и его типизировать. Проблема в том, чтобы выбрать те колонки таблицы, которые надо получать. Получить их список в виде SPxxx - легко, а вот как их переделать в типи 1С, которая подключена?
Т.е. надо получить, наприме с SC72 - Справочник.Клиенты, а с SP234 - ВидКонтрагента. Если такое возможно - это будет очень хорошо. Спасибо.
  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #10 - 22. Января 2007 :: 09:26
Печать  
pvase писал(а) 22. Января 2007 :: 09:03:
...а вот как их переделать в типи 1С, которая подключена?

Это невозможно, по крайней мере пока.
... пока кто нибудь не научиться хранить в CValue объекты других ИБ.
  

1&&2&&3
Наверх
 
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: ODBCDataBase.ПрисоединитьИБ() - ошибка,что не
Ответ #11 - 22. Января 2007 :: 13:25
Печать  
trad писал(а) 22. Января 2007 :: 09:26:
pvase писал(а) 22. Января 2007 :: 09:03:
...а вот как их переделать в типи 1С, которая подключена?

Это невозможно, по крайней мере пока.
... пока кто нибудь не научиться хранить в CValue объекты других ИБ.


нуу.... смотря зачем эти данные нам вообще нужны. Использовать-то их тоже может только "другая" база.
Например, можно вручную сконструировать сериализованное представление, а потом при использовании в "другой" базе выполнить значениеизстрокивнутр().
Кстати, если база связана по ОЛЕ, то результат можно потом успешно обрабатывать на месте.
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать