Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Падает 1С при подключении к DBF базе ... (число прочтений - 6566 )
rustamakhmetov
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 21
Зарегистрирован: 20. Декабря 2006
Падает 1С при подключении к DBF базе ...
18. Сентября 2007 :: 05:29
Печать  
Падает 1С при подключении к DBF базе, если сервер и пользователь находятся в разных доменах.

Вот эта конструкция валит 1с:
пСоед = СоздатьОбъект("OLEDBData");  
лкРез = пСоед.Соединение(conStr_1c);

Завертывание этого кода в "Попытка" не помогает.

Подскажите, пожалуйста, как решить эту проблему?
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Падает 1С при подключении к DBF базе ...
Ответ #1 - 18. Сентября 2007 :: 05:57
Печать  
А чему равно conStr_1c?
  
Наверх
 
IP записан
 
rustamakhmetov
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 21
Зарегистрирован: 20. Декабря 2006
Re: Падает 1С при подключении к DBF базе ...
Ответ #2 - 18. Сентября 2007 :: 06:04
Печать  
Provider=VFPOLEDB.1;Deleted=Yes;Data Source=C:\1CBases\1C_Torg_test;Mode=ReadWrite;Extended Properties=";User ID=";Password=";Mask Password=False;Collating Sequence=RUSSIAN;DSN="
  
Наверх
 
IP записан
 
space
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 18. Сентября 2007
Re: Падает 1С при подключении к DBF базе ...
Ответ #3 - 18. Сентября 2007 :: 07:35
Печать  
Такая же проблема с новыми версиями 1с++, при завершении процедуры, в которой есть обращение через запрос к dbf, 1С просто закрывается...
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Падает 1С при подключении к DBF базе ...
Ответ #4 - 18. Сентября 2007 :: 07:48
Печать  
C:\1CBases\1C_Torg_test;
а где в конце "\"
читай документацию.
  
Наверх
 
IP записан
 
rustamakhmetov
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 21
Зарегистрирован: 20. Декабря 2006
Re: Падает 1С при подключении к DBF базе ...
Ответ #5 - 18. Сентября 2007 :: 09:33
Печать  
varelchik писал(а) 18. Сентября 2007 :: 07:48:
C:\1CBases\1C_Torg_test;
а где в конце "\"
читай документацию.


Добавил "\"  не помогло.

Там проблема с правами, т.к. когда делаешь пользователя на сервере локальным админом, то все работает.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Падает 1С при подключении к DBF базе ...
Ответ #6 - 18. Сентября 2007 :: 10:45
Печать  
А как у тебя обстоят дела с правами на каталог базы?
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Падает 1С при подключении к DBF базе ...
Ответ #7 - 18. Сентября 2007 :: 10:46
Печать  
Оригинально.
А ты вообще просто из винды юзьвером ведь в папку и так невойдешь.
ТОди зачем ломиться туда под пользователем у которого виндовознах прав нету на ту папку?
Как вариант сделай проверку перед запросом типа:
ФС.СуществуетФайл(путькбазе)
а потом попробуй туды записать контрольный файл и удалить его от туда.
Если все проканает значит запрос сработает ежли нет то и нефиг туда нос совать запросом.
Типа выброси сообщение что недлостаточно прав доступа с базе.
  
Наверх
 
IP записан
 
rustamakhmetov
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 21
Зарегистрирован: 20. Декабря 2006
Re: Падает 1С при подключении к DBF базе ...
Ответ #8 - 18. Сентября 2007 :: 11:13
Печать  
JohnyDeath писал(а) 18. Сентября 2007 :: 10:45:
А как у тебя обстоят дела с правами на каталог базы?


Есть права на чтение и запись.

ФС.СуществуетФайл(КаталогИБ()) возвращает 1.
Файл записывается и удаляется.
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Падает 1С при подключении к DBF базе ...
Ответ #9 - 18. Сентября 2007 :: 14:33
Печать  
Приведите примеры кода, приводящего к падению приложения.
  
Наверх
ICQ  
IP записан
 
freagle
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 87
Зарегистрирован: 21. Июня 2006
Re: Падает 1С при подключении к DBF базе ...
Ответ #10 - 19. Сентября 2007 :: 06:17
Печать  
Я бы очень хотел посмотреть на сеть, где за базой 1с надо ломиться в другой домен  Подмигивание
Скорее всего, это не баг 1с или 1срр, а общая проблема соединения в левый домен. У тебя настроены отношения доверия между доменами? Если нет, то все закономерно.
  
Наверх
 
IP записан
 
space
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 18. Сентября 2007
Re: Падает 1С при подключении к DBF базе ...
Ответ #11 - 19. Сентября 2007 :: 08:36
Печать  
spock писал(а) 18. Сентября 2007 :: 14:33:
Приведите примеры кода, приводящего к падению приложения.

Код
Выбрать все
	SQL = СоздатьОбъект("ODBCDatabase");
	Рез = SQL.Соединение("driver=Microsoft Visual FoxPro f:\bum");
	Если Рез = 0 Тогда
		Предупреждение("Ошибка открытия базы f:\bum." + РазделительСтрок + "Проверьте подключение сетевого диска 'F'");
		SQL.Закрыть();
		Возврат;
	КонецЕсли;
	Записи = СоздатьОбъект("ODBCRecordSet");
	Записи.УстБД(SQL);
	Записи.УстановитьТекстовыйПараметр("ДатаРег", ТекущаяДата());
	Записи.УстановитьТекстовыйПараметр("ДатаВыписки", ?(ПустоеЗначение(ТекущийДокумент.ДатаДокВх) = 0, ТекущийДокумент.ДатаДокВх, ТекущийДокумент.ДатаДок));
	Запрос = "Insert Into sk75av(k75as,nakl,dtvip,dt,author) Values(" + ТекущийДокумент._ид + ",'" + ТекущийДокумент.НомерДок + "',:ДатаВыписки~~,:ДатаРег~~,'" + AnsiToOem(СокрЛП(Пользователь.Код)) + "')";
	Если Записи.Выполнить(Запрос) = 0 Тогда
		Предупреждение("Не удалось разрегистрировать документ!");
	КонецЕсли;
	SQL.Закрыть();
 


Падение происходить при выполнении SQL.Закрыть(); в конце процедуры.
Версия компоненты 2.5.0.2 от 18.09.2007 г.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Падает 1С при подключении к DBF базе ...
Ответ #12 - 19. Сентября 2007 :: 08:42
Печать  
Ну ес-но у тебя и будет падать: ты закрываешь соединение (объект ODBCDatabase) с открытыми записами (объект ODBCRecordSet).
Ты сначала либо закрывай все записи, а потом соединение. Либо очищай ссылки на объект (SQL="") - в этом случае всё автоматом закрывается (пусть меня поправят, если я ошибаюсь).
  
Наверх
 
IP записан
 
space
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 15
Зарегистрирован: 18. Сентября 2007
Re: Падает 1С при подключении к DBF базе ...
Ответ #13 - 19. Сентября 2007 :: 09:04
Печать  
Это цитата из старого хелпа, сейчас у меня стоит версия 1.8.1.6 bf02 и всё нормально работает. Правда может что и изменилось с того времени...
Закрыть(<?>)
Синтаксис:
Закрыть()
Назначение:
закрывает установленное ранее соединение и отключает текущий набор (ODBCRecordSet), если таковой подключался к базе.


И вобще, есть ли новый als для версии 2.х.х.х???
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Падает 1С при подключении к DBF базе ...
Ответ #14 - 19. Сентября 2007 :: 09:07
Печать  
Да и ODBC для ДБФ уже давно не используют :
Код
Выбрать все
	глОлеДБ = СоздатьОбъект("OLEDBData");
	//Соединение = "Provider=VFPOLEDB;Deleted=Yes;Data Source=" + КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="""";User ID="""";Password="""";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""""";
	Рез=глОлеДБ.Соединение("
	|Provider=VFPOLEDB.1;
	|Deleted=Yes;
	|Null = Yes;
	|Exclusive = No;
	|SourceType = DBF;
	|Data Source=" + КаталогИБ() + ";
	|Mode=ReadWrite;
	|Extended Properties="""";
	|User ID="""";
	|Password="""";
	|Mask Password=False;
	|Collating Sequence=MACHINE;
	|DSN=""""");
	 ОлеДБКоманда = глОлеДБ.СоздатьКоманду();
    ТекстЗапроса="...";
	ТЗ = ОлеДБКоманда.ВыполнитьИнструкцию(ТекстЗапроса);
	ОлеДБКоманда.Закрыть();
 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать