Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Вылетает 1с при соединении с MySQL (число прочтений - 2763 )
SSSnake
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 16
Зарегистрирован: 18. Сентября 2007
Вылетает 1с при соединении с MySQL
20. Мая 2008 :: 18:07
Печать  
Подскажите пожалуйста в чем причина...

Подключаюсь к базе MySQL методом процитированым ниже...

Драйвер ODBC v 5.1
1c v 7.7.25
1c++ v 2.0.5.5 night build 20.05.08
Windows 2003, база на WinXP sp2

порт 3306 в фаерволе открыт...
DSN запись создаеться без проблем, а при подключении из 1с задумываеться на несколько секунд и вылетает...
при соединении с базой MySQL на localhost вылетает точно также...

кто сталкывался с подобным и как с этим справиться?

Спасибо!


[quote author=Arta link=1154168812/0#3 date=1154330335]
[code]
DB = СоздатьОбъект("ODBCDatabase");
DB.Соединение("DRIVER={MySQL ODBC 5.1 Driver}; SERVER=IP_Супер_мега_сервера; DATABASE=Мега_база; USER=Супер_юзер; PASSWORD=пароль_супер_мега_юзера; OPTION=3;");

RS = СоздатьОбъект("ODBCRecordSet");
RS.SetDatabase(DB);

Если RS.Выполнить("set names cp1251") = 0 Тогда
     Сообщить("Ошибка подключения к MySQL" + РазделительСтрок + RS.ПолучитьОписаниеОшибки());
     СтатусВозврата(0);
     Возврат;
КонецЕсли;
[/code]
[/quote]
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #1 - 20. Мая 2008 :: 21:48
Печать  
На какой строке вылетает?

P.S. Или понимать тебя буквально?  Смех
Цитата:
Подключаюсь к базе MySQL методом процитированым ниже...

т.е. без подмены параметров?
  
Наверх
 
IP записан
 
SSSnake
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 16
Зарегистрирован: 18. Сентября 2007
Re: Вылетает 1с при соединении с MySQL
Ответ #2 - 20. Мая 2008 :: 22:03
Печать  
на строке DB.Соединение... Вылетает наглухо (память не может бытьread and so on...)
нет ну естественно у меня не "супер мега база" Улыбка
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #3 - 20. Мая 2008 :: 22:55
Печать  
Хмм... Код простой и 100% рабочий. Драйвер на винде точно установлен?

Мускул на линухе? tcpdump'ом активность со стороны тачки с 1С по 3306 глянуть можешь? Доходит ли до конекта...
Вопрос снят, увидел что на XP.


Напиши строку соединения как она выглядит у тебя.
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #4 - 21. Мая 2008 :: 03:44
Печать  
Я думаю что всё дело в том что по пользователь: Супер_юзер, а прароль:  пароль_супер_мега_юзера

Смех
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #5 - 21. Мая 2008 :: 04:32
Печать  
(0) Используй DSN. Большой плюс dsn есть режим проверки и также в текстах 1с
уже не нужен пользователь и пароль. Все детали скрыты в dsn
вот мой успешно работающий код для MY SQL
Код
Выбрать все
	sql = СоздатьОбъект("ODBCDatabase");
	Имя0 = "DragNet";
	Фл1 = sql.Соединение("DSN=" + Имя0 + ";");
	Если Фл1 = 0 Тогда
		Сообщить("Не смогли открыть DSN = " + Имя0);
		Сообщить("Ошибка = " +  sql.ПолучитьОписаниеОшибки() );
	Иначе
		sql.УстТолькоЧтение(1);
	КонецЕсли;
	rc = СоздатьОбъект("ODBCRecordSet");
	rc.УстБД(sql);
...
 

  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #6 - 21. Мая 2008 :: 05:31
Печать  
Писал для себя тесты, там и правильная строка соединения есть
  

test_mysql.rar ( 2 KB | Загрузки )
Наверх
ICQ  
IP записан
 
SSSnake
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 16
Зарегистрирован: 18. Сентября 2007
Re: Вылетает 1с при соединении с MySQL
Ответ #7 - 21. Мая 2008 :: 05:36
Печать  
Строка соединения... Если указать неправильного пользователя/пароль то выдает сообщение о ошибке, когда все правильно то вылетает....

Код
Выбрать все
	// ....
		    DB = СоздатьОбъект("ODBCDatabase");
	DB.Соединение("DRIVER={MySQL ODBC 5.1 Driver}; SERVER=192.168.111.5; PORT=3306; DATABASE=testbdmy; USER=userrw; PASSWORD=qwerty; OPTION=3;");
	Сообщить(DB.ПолучитьОписаниеОшибки());
		    // ...
 



для DSN который создаеться и тест проходит - точно так же вылетает... пробовал с разных компъютеров в сети к разным базам ... результат такой же

Код
Выбрать все
	  DB.Соединение("DSN=mysqlconnect");
 

  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #8 - 21. Мая 2008 :: 05:40
Печать  
SSSnake писал(а) 21. Мая 2008 :: 05:36:
Строка соединения... Если указать неправильного пользователя/пароль то выдает сообщение о ошибке, когда все правильно то вылетает....

Код
Выбрать все
	// ....
		    DB = СоздатьОбъект("ODBCDatabase");
	DB.Соединение("DRIVER={MySQL ODBC 5.1 Driver}; SERVER=192.168.111.5; PORT=3306; DATABASE=testbdmy; USER=userrw; PASSWORD=qwerty; OPTION=3;");
	Сообщить(DB.ПолучитьОписаниеОшибки());
		    // ...
 



для DSN который создаеться и тест проходит - точно так же вылетает... пробовал с разных компъютеров в сети к разным базам ... результат такой же

Код
Выбрать все
	  DB.Соединение("DSN=mysqlconnect");
 


Какое при этом описание ошибки ( см мой код ) ?
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #9 - 21. Мая 2008 :: 05:42
Печать  
SSSnake писал(а) 21. Мая 2008 :: 05:36:
Строка соединения...

Блин, трудно тест скачать и посмотреть содержимое было?
Код
Выбрать все
	Сообщить("Третий тест");

	//Тестируем установку параметров соединения
	клМускул.СтрокаСоединения = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;
	|Port=3306;Database=_1c;User=_1c_user; Password=_1c_pass;
	|Option=3;";
	Результат = клМускул.СтрокаСоединения;
	Сам().ПроверитьРавенство(Результат,"Driver={MySQL ODBC 3.51 Driver};Server=localhost;
	|Port=3306;Database=_1c;User=_1c_user; Password=_1c_pass;
	|Option=3;");

	//Четвертый тест
	Сообщить("Четвертый тест");
	Результат = клМускул.Соединение();
	Сам().ПроверитьРавенство(Результат,1);
 

  
Наверх
ICQ  
IP записан
 
SSSnake
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 16
Зарегистрирован: 18. Сентября 2007
Re: Вылетает 1с при соединении с MySQL
Ответ #10 - 21. Мая 2008 :: 05:57
Печать  
Вопрос снят!
Поставил драйвер 3.51 и все заработало...

Подскажитн пожалуйста расчитывать ли эту ситуацию (вылет с драйвером 5.1) как багу, и если да то куда/кому сообщать?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #11 - 21. Мая 2008 :: 06:22
Печать  
SSSnake писал(а) 21. Мая 2008 :: 05:57:
Вопрос снят!
Поставил драйвер 3.51 и все заработало...

Подскажитн пожалуйста расчитывать ли эту ситуацию (вылет с драйвером 5.1) как багу, и если да то куда/кому сообщать?


Если сия проблема имеет место, то в багзиллу. Ссылка на главной странице.
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #12 - 21. Мая 2008 :: 06:27
Печать  
SSSnake писал(а) 21. Мая 2008 :: 05:57:
Вопрос снят!
Поставил драйвер 3.51 и все заработало...

Подскажитн пожалуйста расчитывать ли эту ситуацию (вылет с драйвером 5.1) как багу, и если да то куда/кому сообщать?

Чего сообщать то? Может быть это твоя трабла?
MySQL Connector/Net 5.1.6 has been released
- Fixed problem where setting the ConnectionString property of MySqlConnection to null would throw an exception (bug #35619)
ссылка: http://forums.mysql.com/read.php?3,209353
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вылетает 1с при соединении с MySQL
Ответ #13 - 30. Июня 2008 :: 13:32
Печать  
Salimbek писал(а) 21. Мая 2008 :: 06:27:
Чего сообщать то? Может быть это твоя трабла?

Хмм... но это драйвер для Net, а не ODBC.

Топикстартер решил проблему?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать