Ошибка при вызове метода контекста open sql

   Miss1C

08.09.12 — 15:16

{Форма.ФормаВыбора(41)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (ADODB.Connection): Операция не допускается, если объект закрыт.

       Выборка = Соединение.Execute(ТекстЗапроса);

по причине:

Произошла исключительная ситуация (ADODB.Connection): Операция не допускается, если объект закрыт.

   Miss1C

1 — 08.09.12 — 15:18

Перем КлиентСоап;

Перем Ошибка;

Процедура Кнопка1Нажатие(Элемент)

   
   Статус = Инициализация(Сервер, Пользователь, Пароль);

   ТЗ = ВыполнитьЗапросКБазе(КлиентСоап, ТекстЗапроса,)

   
КонецПроцедуры

Функция Инициализация(Сервер,Пользователь,Пароль)

   
   СтатусВозврата = Истина;

   Попытка

       КлиентСоап = Новый COMObject(«ADODB.Connection»);

       
       СтрокаСоединение = «DRIVER={MySQL ODBC 5.1 Driver};SERVER=»+Сервер+»;DataBase=users;UID=»+Пользователь+»;PWD=»+Пароль+»»; //{MySQL ODBC 3.51 Driver}

       КлиентСоап.ConnectionTimeOut = 600;

       КлиентСоап.ConnectionString = (СтрокаСоединение);

       КлиентСоап.Open();

       
       Ошибка = «ОК»;

       СтатусВозврата = Истина;

   Исключение

       
       Ошибка = «Ошибка подключения: «+описаниеошибки();

       СтатусВозврата = Ложь;

   КонецПопытки;

   
   Возврат СтатусВозврата;

   
КонецФункции

Функция ВыполнитьЗапросКБазе(Соединение, ТекстЗапроса, ЭтоВыборка=Истина)

   
   Если не ЭтоВыборка Тогда

       Соединение.Execute(ТекстЗапроса,80);

       Возврат Неопределено;

   Иначе

       Выборка = Соединение.Execute(ТекстЗапроса);

   КонецЕсли;

   
   ТаблицаДанных = Новый ТаблицаЗначений;

   
   СтрокаСообщения = «»;

   Для каждого Поле из Выборка.Fields Цикл

       ИмяПоля = Поле.Name;

       ТаблицаДанных.Колонки.Добавить(ИмяПоля);

   КонецЦикла;

   
   Если не Выборка.EOF Тогда

       // не пустая выборка

       Выборка.MoveFirst();

       Пока не Выборка.EOF Цикл

           НС = ТаблицаДанных.Добавить();

           НомерПоля = 0;

           Для каждого Поле из ТаблицаДанных.Колонки Цикл

               НС[Поле.Имя] = Выборка.Fields.Item(НомерПоля).Value;

               НомерПоля = НомерПоля+1;

           КонецЦикла;

           Выборка.MoveNext();

       КонецЦикла;

   КонецЕсли;

   
   Возврат ТаблицаДанных;

КонецФункции

   Wobland

2 — 08.09.12 — 15:19

это ты хвастаешься?

   Miss1C

3 — 08.09.12 — 15:19

При попытке Open выдает ошибку

   Miss1C

4 — 08.09.12 — 15:19

(2) Было бы чем)

   Wobland

5 — 08.09.12 — 15:20

(4) ОписаниемОшибки() можешь ещё

   Wobland

6 — 08.09.12 — 15:21

>ConnectionTimeOut = 600

увеличь до 6000 ;)

   HEKPOH

7 — 08.09.12 — 15:21

КлиентСоап.Open(СтрокаСоединение);

   Miss1C

8 — 08.09.12 — 15:22

Главное данные ввожу правильные

   Miss1C

9 — 08.09.12 — 15:25

(7)Тоже самое

   Miss1C

10 — 08.09.12 — 15:27

(6) Что оно даст?)

   Wobland

11 — 08.09.12 — 15:27

(10) 10 минут — это очень мало

а кому ты, кстати, возвращаешь СтатусВозврата?

   Miss1C

12 — 08.09.12 — 15:28

(11)Позже для проверки надо будит

   HEKPOH

13 — 08.09.12 — 15:29

статус = истина?

   Wobland

14 — 08.09.12 — 15:30

(12) почему не сейчас? кого оно будит?

   Miss1C

15 — 08.09.12 — 15:30

СтатусВозврата = Истина;

   Если Статус = Неопределено Тогда

       Попытка

           КлиентСоап = Новый COMObject(«ADODB.Connection»);

           Статус = Статусы.Создан;

           
           Пользователь = Параметры.Пользователь;

           Пароль = Параметры.Пароль;

           Сервер = Параметры.Сервер;

           СтрокаСоединение = «DRIVER={MySQL ODBC 5.1 Driver};SERVER=»+Сервер+»;DataBase=users;UID=»+Пользователь+»;PWD=»+Пароль+»»; //{MySQL ODBC 3.51 Driver}

           КлиентСоап.ConnectionTimeOut = 600;

           КлиентСоап.ConnectionString = (СтрокаСоединение);

           КлиентСоап.Open();

           Статус = Статусы.Подключен;

           Статус = Статусы.Авторизирован;

           
           Ошибка = «ОК»;

           СтатусВозврата = Истина;

       Исключение

           
           Ошибка = «Ошибка подключения: «+описаниеошибки();

           СтатусВозврата = Ложь;

       КонецПопытки;

   КонецЕсли;

   
   Возврат СтатусВозврата;

   Wobland

16 — 08.09.12 — 15:31

в общем, я без описания ошибки дальше отказываюсь разговаривать

   Miss1C

17 — 08.09.12 — 15:31

   Miss1C

18 — 08.09.12 — 15:32

Или еще одно описание сделать ?

   Wobland

19 — 08.09.12 — 15:32

   Miss1C

20 — 08.09.12 — 15:33

(3)—> (0) )

   HEKPOH

21 — 08.09.12 — 15:33

А не так разве надо?

Процедура Кнопка1Нажатие(Элемент)

   
   Статус = Инициализация(Сервер, Пользователь, Пароль);

   Если Статус Тогда

       ТЗ = ВыполнитьЗапросКБазе(КлиентСоап, ТекстЗапроса);

   КонецЕсли;        

       
КонецПроцедуры

   Wobland

22 — 08.09.12 — 15:33

   HEKPOH

23 — 08.09.12 — 15:34

и ответь на (13)

   Nexux

24 — 08.09.12 — 15:34

а если так: Соединение.Open(СтрокаСоединения)

   Nexux

25 — 08.09.12 — 15:34

Соединение = КлиентСоап

   Miss1C

26 — 08.09.12 — 15:34

Ошибка подключения, как я поняла, но я ввожу все данные правильно

   HEKPOH

27 — 08.09.12 — 15:35

(25) смотри (7) и (9)

   Nexux

28 — 08.09.12 — 15:35

(25)so slow((

   Miss1C

29 — 08.09.12 — 15:36

   HEKPOH

30 — 08.09.12 — 15:37

(29) пиши как в (21). Это раз)

а два, ройся в строке подключения. косяк только там

   HEKPOH

31 — 08.09.12 — 15:38

пользователь с пробелом, м.б.

   HEKPOH

32 — 08.09.12 — 15:38

строку подключения из отладчика в студию, пожл

   Miss1C

33 — 08.09.12 — 15:39

(30)Сделала как в (21) Статус = Ложь

   HEKPOH

34 — 08.09.12 — 15:39

(33) ну, это понятно) теперь хоть ошибку не выдает)

   Miss1C

35 — 08.09.12 — 15:46

   HEKPOH

36 — 08.09.12 — 15:48

мисс, хва прикалываться))) строку полностью :) и можно не скрином)

   Miss1C

37 — 08.09.12 — 15:49

   HEKPOH

38 — 08.09.12 — 15:50

имя сервер известно?

   HEKPOH

39 — 08.09.12 — 15:52

+(38) мож не нравится 127.0.0.1? Обратись по имени

   Miss1C

40 — 08.09.12 — 15:52

Вот что Ошибка в отладке пишет

Ошибка подключения: {Форма.ФормаВыбора(23)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

   Wobland

41 — 08.09.12 — 15:55

(40) здесь нужен Капитан О

   Miss1C

42 — 08.09.12 — 15:56

(41) Это кто такой?)

   Капитан О

43 — 08.09.12 — 15:57

(42) это тот, кто скажет тебе, что нужно указать правильно источник данных и драйвер

   Miss1C

44 — 08.09.12 — 15:58

(43)А как узнать какой у меня драйвер?

   Капитан О

45 — 08.09.12 — 16:00

(44) а что руководило тобой, когда ты писала «DRIVER={MySQL ODBC 5.1 Driver}»?

   Miss1C

46 — 08.09.12 — 16:00

Имя Базы Test ип адрес 127.0.0.1

   Miss1C

47 — 08.09.12 — 16:01

(45)Это не я писала, нашла готовый образей

   Miss1C

48 — 08.09.12 — 16:01

Образец

   Капитан О

49 — 08.09.12 — 16:01

(46) дык на кой ты писала юсерс?

   Miss1C

50 — 08.09.12 — 16:03

(49)То есть вместо юсерса я должна имя базы писать?

   Капитан О

51 — 08.09.12 — 16:04

(50) капитан в растерянности…

   Miss1C

52 — 08.09.12 — 16:06

Когда подключаюсь к MeSQL WorkBench, используется ип адрес, юзер, пароль. Вот и я так использую

   Капитан О

53 — 08.09.12 — 16:06

   Miss1C

54 — 08.09.12 — 16:09

(53)Та же ошибка

   Nexux

55 — 08.09.12 — 16:53

драйвер-то установлен, в ODBC проверка подключения прохдит?

   Nexux

56 — 08.09.12 — 16:53

если 8.2, юзай внешние истоники тогда лучше)

   Wobland

57 — 08.09.12 — 16:56

счас выяснится, что девушка притащила работу в виде базы и обработки домой и рассчитывает, что всё сразу взлетит

   Nexux

58 — 08.09.12 — 16:56

автор, у тебя точно база mysql?))) код в (0) где выполняется, какая-платформа

   Nexux

59 — 08.09.12 — 16:58

вообще имхо проще ошибки поДключения через остастку odbc ловить, потом когда там ок, уже в 1с)

   ДенисЧ

60 — 08.09.12 — 17:29

всё не читал, но текста запроса как-то не увидел…

   Nexux

61 — 08.09.12 — 17:59

да какой там текст запроса, нам бы соединение открыть для начала))

   Miss1C

62 — 10.09.12 — 11:10

Установила драйвер mysql-connector-odbc-5.1.11-winx64 Все та же ошибка, 1С не видит этого драйвера(

   Miss1C

63 — 10.09.12 — 11:20

Exel тоже не видит

   Nexux

64 — 10.09.12 — 11:35

ось какая? 1с в каком режиме работает? версия 1с? если 8.2 УФ где код исполняется? под каким пользователем сервер?

   Miss1C

65 — 10.09.12 — 11:36

Будут какие предложения, по поводу драйвера?

   Nexux

66 — 10.09.12 — 11:36

через odbc удается подключится? ааааффффтор ))

   Miss1C

67 — 10.09.12 — 11:37

— Платформа 8.1;

— Конфигурация УПП;

— Сервер не под Администратором;

   Miss1C

68 — 10.09.12 — 11:38

   Nexux

69 — 10.09.12 — 11:38

(68) ну так текст ошибки какой

   Miss1C

70 — 10.09.12 — 11:39

(69)

Ошибка подключения: {Форма.ФормаВыбора(23)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

   Miss1C

71 — 10.09.12 — 11:40

Сервер локальный

   Nexux

72 — 10.09.12 — 11:41

(70)в остнастке odbc панели управления создай источник данных с твоими параметрами и там проверь подключение, если это не работает, дальше нет смысла копать

   Miss1C

73 — 10.09.12 — 11:41

После установки драйвера, компьютер перегружала

   Miss1C

74 — 10.09.12 — 11:42

(72) Можно по порядку?

   Nexux

75 — 10.09.12 — 11:42

(72)если сервер x64 останток odbc две, 32 и 64 бита

   Miss1C

76 — 10.09.12 — 11:42

Зашла в панель управления, что искать?

   Nexux

77 — 10.09.12 — 11:44

   Miss1C

78 — 10.09.12 — 11:44

Администрирование — Источники данных (ОDBC)?

   Miss1C

79 — 10.09.12 — 11:45

У меня там только один источник без разряда

   Nexux

80 — 10.09.12 — 11:47

odbcad32.exe 64бита и syswow64/odbcad32.exe 32бита

   Miss1C

81 — 10.09.12 — 11:50

В два верхних поля ввода, что писать?

   Miss1C

82 — 10.09.12 — 11:51

«Data Source Name@ and «descripion»

   Nexux

83 — 10.09.12 — 11:51

имя произвольное, описание необязательно

   Miss1C

84 — 10.09.12 — 11:53

Нажала Test  — «Сonnection successful»

   Nexux

85 — 10.09.12 — 11:54

у тебя код из (0) выполняется на клиенте?

   Miss1C

86 — 10.09.12 — 11:56

(85) Платформа 8.1

   Nexux

87 — 10.09.12 — 11:56

(86)ну фиг знает, может у тебя сервер х64 и фоновое задание

   Miss1C

88 — 10.09.12 — 11:57

(85) Да на клиенте

   Miss1C

89 — 10.09.12 — 11:57

(87) Обычная обработка

   Miss1C

90 — 10.09.12 — 12:01

Драйвер установила под администратором, в 1С работаю под пользователем

   Nexux

91 — 10.09.12 — 12:02

(89) http://ul.to/b05r2t5k запусти обработку, там, когда окно откроется, укажи иям источника данных этого, юзваря и пароль, нажми ок — сформириурется строка, попробуй ее подсусуть в adodb в код

   Nexux

92 — 10.09.12 — 12:04

(91)если не увидит источник, ставить дравер x32 придется, мне кажется

   Miss1C

93 — 10.09.12 — 12:09

Имя источника то, которое перед этим создала?

   Nexux

94 — 10.09.12 — 12:11

угу

   Nexux

95 — 10.09.12 — 12:11

который успешно проверяется)

   Miss1C

96 — 10.09.12 — 12:12

(94)Куда код подсунуть?

   Miss1C

97 — 10.09.12 — 12:12

(95)Строку

   Miss1C

98 — 10.09.12 — 12:13

Там где «»?

   Nexux

99 — 10.09.12 — 12:15

в переменную СтрокаСоединение

   Miss1C

100 — 10.09.12 — 12:19

«Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=111» — Ошибка

Ошибка подключения: {Форма.ФормаВыбора(23)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу.

Я
   Румата

15.09.16 — 13:46

Доброго времени суток. Подскажите почему не получается подключиться к базе SQL по ip адресу.

Если локально, то получается :

ИмяСервераSQL = «TS1985»;

Если пытаюсь по IP обратиться с этого же компьютера на котором установлен SQL, пишет ошибку :

ИмяСервераSQL = «хх.ххх.ххх.хххTS1985»;

Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server не существует, или доступ запрещен.

Порт 1433 админа попросил открыть, он сказал что сделал …

   Господин ПЖ

1 — 15.09.16 — 13:48

у тебя протоколы на sql вырублены

   Господин ПЖ

2 — 15.09.16 — 13:48

https://support.microsoft.com/ru-ru/kb/328306

   Румата

3 — 15.09.16 — 13:54

(Господин ПЖ) Подскажи пожалуйста как их включить, я не сисадмин (

   Румата

4 — 15.09.16 — 13:58

SQL Server не ожидает на протоколе или порте, который используется для подключения. Средство Server Network Utility на сервере определяет протоколы и TCP/IP-порты, используемые сервером SQL Server, а средство Client Network Utility, имя источника данных (DSN) MDAC или строка подключения – протоколы и порт, используемые клиентом при подключении

Вот это надо сделать ?

   Господин ПЖ

5 — 15.09.16 — 14:02

ну хотя бы посмотреть что включено

может у тебя только named pipe включен

   trad

6 — 15.09.16 — 14:02

на клиенте cliconfg.exe

на сервере svrnetcn.exe

проверь включенные протоколы

   Румата

7 — 15.09.16 — 14:11

cliconfg.exe запустил на сервере, там слева был TCP IP и  named pipe. Переместил TCP IP вправо (включил его).

а svrnetcn.exe не нашел на сервере

   Румата

8 — 15.09.16 — 14:14

операционка на сервере windows server 2012 R2

   Румата

9 — 15.09.16 — 14:16

Попробовал с сервера опять подключиться по IP адресу, ошибка все та же

Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server не существует, или доступ запрещен.

   trad

10 — 15.09.16 — 14:20

(7) почему на сервер то?

на клиенте cliconfg.exe

   Румата

11 — 15.09.16 — 14:22

(trad) Я хочу сначала с самого сервера подключиться по ip адресу.

Вот так подключается ИмяСервераSQL = «TS1985»; (локально)

А вот так ИмяСервераSQL = «хх.ххх.ххх.хххTS1985»; нет

svrnetcn.exe не могу найти, может как-то по другому она называется на Windows server 2012 ?

   Румата

12 — 15.09.16 — 14:29

А порт в строке имени сервера надо указывать ?

ИмяСервераSQL = «127.0.0.1:1433TS1985» ?

   Румата

13 — 15.09.16 — 14:30

Если указал порт, то вот такая ошибка :

Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][DBNETLIB]Недопустимое соединение

   Румата

14 — 15.09.16 — 14:47

Мужики, помогите )

   Господин ПЖ

15 — 15.09.16 — 15:44

нужно не имя компа, а ql instance name

   Господин ПЖ

16 — 15.09.16 — 15:44

sql

  

Господин ПЖ

17 — 15.09.16 — 15:45

оно может с компом не совпадать

Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс, 1996 г.

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

После установки новой версии серверной платформы (8.3.10.2375).
После строки кода:

1C
1
Соединение = Новый COMОбъект("ADODB.Connection");

В Соединение.DefaultDatabase лежит вот это:
произошла исключительная ситуация (adodb.connection) операция не допускается если объект закрыт

Старая версия платформы была 8.3.7

Соотвественно дальнейший код:

1C
1
2
3
4
5
6
7
8
9
10
11
12
    Соединение.ConnectionString = СтрокаПодключения; 
    Соединение.ConnectionTimeout = 180;
    Соединение.CursorLocation = 3;
    Попытка
        Соединение.Open();
    Исключение
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = ОписаниеОшибки();
        Сообщение.Сообщить();
        Возврат Неопределено;
    КонецПопытки;
    Возврат Соединение;

Не работает

А при попытке

проваливаемся в исключение со следующим текстом:

{ОбщийМодуль.ЦСМ_ОбщийСервер_chuk.Модуль(1673)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

Прошу помочь с решением проблемы.

Добавлено через 33 минуты
Проблема была в том что был установлен mysql-connector-odbc-5.3.6-winx64, сменил на mysql-connector-odbc-5.3.6-winx32 и заработало.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

Здравствуйте!

Ситуация следующая. Имели MS Server 2008 R2, MS SQL 2008, 1С предприятие 8.2 x64 (клиент серверный вариант). Excel 2007. Сервер в домен не входит. В 1С создали регламентное задание которое с ftp загружало в 1С файлы. Все замечательно
работало без ошибок.

Перешли на MS Server 2012. Также перенес  MS SQL 2008, 1С предприятие 8.2 x64 (клиент серверный вариант). Excel 2007. Сервер в домен не входит.  Режим расширенного рабочего стола отключен.  Также добавил служебного пользователя
1с от которого запускаются серверные процессы  usr1cv82 в группу Пользователи DCOM . Регламентные задания стали выполняться с ошибкой.

В ошибках MS увидел:

1) Параметры разрешений application-specific не дают разрешения Local Activation для приложения COM-сервера с CLSID 
{D63B10C5-BB46-4990-A94F-E40B9D520160}
и APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
пользователю NT AUTHORITYSYSTEM с ИД безопасности (S-1-5-18) и адресом LocalHost (Using LRPC), выполняемого в контейнере приложения Unavailable с ИД безопасности (Unavailable). Это разрешение безопасности можно изменить с помощью
средства администрирования служб компонентов.

2)  Не удалось установить связь DCOM с компьютером BUH2-PC через какой-либо из настроенных протоколов; запрос от PID 16c3c (C:WindowsSYSTEM32rundll32.exe).

В ошибках 1с увидел:

1) Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу ‘C:base_1ЗаявкиОтработанные19_03_2013_Литвинова.xls’. Это может быть вызвано одной из следующих причин.

• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.

На форумах нашел как можно исправить http://help1c.com/help/view/3921.html

Создать папку C:WindowsSysWOW64configsystemprofileDesktop

Создал, текст ошибки в логах 1с поменялся на

2) Ошибка при вызове метода контекста (Open): Неизвестная ошибка

Помогите решить данные проблемы

Не удалось подключиться к СУБД.

Модераторы: Дмитрий Юхтимовский, Лысиков Денис

Не удалось подключиться к СУБД.

При попытке подключиться к SQL серверу (MS SQL), выдает вот такое сообщение:
{ОбщийМодуль.РаботаССУБД.Модуль(15)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Недопустимый атрибут строки соединения,

а при попытке подключится к сервеу 1С:Предприятие вот такое:
Не удалось подключиться к базе 1С.{ОбщийМодуль.РаботаССервером1С.Модуль(37)}: Ошибка при вызове конструктора (COMОбъект): Класс не зарегистрирован: Класс не зарегистрирован

В чем проблема? В версии платформы? (8.2.17.169)

mixail.brz
 
Сообщений: 4
Зарегистрирован: 31 окт 2013, 08:32

Re: Не удалось подключиться к СУБД.

Сообщение Дмитрий Юхтимовский » 31 окт 2013, 09:20

Ну так по первому пункту — проверьте строку соединения, там где-то ошибка. Даже если эта же строка работает на другом компьютере — для текущего что-то не подходит.

По второму — зайдите на сервере 1С в «панели управления» Windows в «добавление/удаление программ», там выберите сервер 1С Предприятия нужной версии, нажмите «Изменить», и там установите пункт «COM-соединение»
Изображение

Дмитрий Юхтимовский
 
Сообщений: 731
Зарегистрирован: 11 фев 2013, 19:28
Откуда: gilev.ru

Re: Не удалось подключиться к СУБД.

Сообщение mixail.brz » 31 окт 2013, 09:46

Спасибо огромное!
По первому пункту — все дело в пароле :), там содержался символ ; который как я предполагаю и путал строку подключения!
Поменял строку на — СтрокаСоединения = «Provider=SQLOLEDB.1;Password=»»» + Настройка.SQLПароль + «»»;Persist Security Info=True;User ID=» + Настройка.SQLЛогин + «;Initial Catalog=» + Настройка.SQLБаза + «;Data Source=» + Настройка.SQLServer; и все заработало.

По второму пункту все сделал как вы сказали — заработало!

mixail.brz
 
Сообщений: 4
Зарегистрирован: 31 окт 2013, 08:32


Вернуться в SQLSize

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

█ 19.03.2010 11:08

Вот код, которым пытаюсь подключиться

Цитата:

СтрокаСоединения = «DRIVER={MySQL ODBC 3.51 Driver};OPTION=3;DATABASE=UKM_Server;PWD=***;PORT=4567;SERVER=192.168.1.102;UID=****»;
SQL = new COMОбъект(«ADODB.Connection»);
SQL.ConnectionString = СтрокаСоединения;
Попытка SQL.Open() Исключение Сообщить(ОписаниеОшибки());возврат;
КонецПопытки;

Есть сомнения по поводу правильного указания параметров:

DATABASE, PORT

Эти данные беру из УКМ-4 в разделе Администрирование — Сервер

█ 19.03.2010 11:09

При отладке ошибка:

Цитата:

{Форма.Форма(8)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [MySQL][ODBC 3.51 Driver]Can’t connect to MySQL server on ‘192.168.1.102’ (10061)

█ 19.03.2010 11:12

А

Цитата:

telnet 192.168.1.102 4567

получается?

█ 19.03.2010 11:15

Цитата:

OlegON ➤ А получается?

О, это из командной строки?

█ 19.03.2010 11:16

На telnet ругается, не удалось подключиться.

Хм, где посмотреть имя базы и порт на УКМ-4?

█ 19.03.2010 11:17

Да, самый простой и надежный способ попробовать подключиться на удаленный порт — протелнетить его. Заодно и скажет, что за ошибка. Порт, кстати, нестандартный, я не знаю, какой он у УКМа, но по умолчанию у мускула 3306

█ 19.03.2010 11:18

Зайди на сервер с базой и скажи

еще не вариант, что у тебя настроены удаленные подключения к базе.

█ 19.03.2010 11:23

Цитата:

OlegON ➤ Зайди на сервер с базой и скажи
еще не вариант, что у тебя настроены удаленные подключения к базе.

netstat -a выдал список активных подключений их там масса. Что дает эта инфорация?

Как проверить настроено ли удаленное подключение?

█ 19.03.2010 11:25

поменял порт на 3306. Теперь выдает

Цитата:

{Форма.Форма(8)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [MySQL][ODBC 3.51 Driver]Access denied for user ‘expert’@’WINXPSP3-PC’ (using password: YES)

█ 19.03.2010 11:28

Кстати на telnet 192.168.1.102 3306 выдает абрукадабру, потом пауза и подключение утеряно

Часовой пояс GMT +3, время: 12:57.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.

Доброго времени суток. Подскажите почему не получается подключиться к базе SQL по ip адресу. Если локально, то получается : Если пытаюсь по IP обратиться с этого же компьютера на котором установлен SQL, пишет ошибку : Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server не существует, или доступ запрещен. Порт 1433 админа попросил открыть, он сказал что сделал …

у тебя протоколы на sql вырублены

(Господин ПЖ) Подскажи пожалуйста как их включить, я не сисадмин (

SQL Server не ожидает на протоколе или порте, который используется для подключения. Средство Server Network Utility на сервере определяет протоколы и TCP/IP-порты, используемые сервером SQL Server, а средство Client Network Utility, имя источника данных (DSN) MDAC или строка подключения – протоколы и порт, используемые клиентом при подключении Вот это надо сделать ?

ну хотя бы посмотреть что включено может у тебя только named pipe включен

на клиенте cliconfg.exe на сервере svrnetcn.exe проверь включенные протоколы

cliconfg.exe запустил на сервере, там слева был TCP IP и  named pipe. Переместил TCP IP вправо (включил его). а svrnetcn.exe не нашел на сервере

операционка на сервере windows server 2012 R2

Попробовал с сервера опять подключиться по IP адресу, ошибка все та же Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server не существует, или доступ запрещен.

(trad) Я хочу сначала с самого сервера подключиться по ip адресу. Вот так подключается ИмяСервераSQL = «TS1985»; (локально) А вот так ИмяСервераSQL = «хх.ххх.ххх.хххTS1985»; нет svrnetcn.exe не могу найти, может как-то по другому она называется на Windows server 2012 ?

А порт в строке имени сервера надо указывать ? ИмяСервераSQL = «127.0.0.1:1433TS1985» ?

Если указал порт, то вот такая ошибка : Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][DBNETLIB]Недопустимое соединение

нужно не имя компа, а ql instance name

оно может с компом не совпадать

Тэги:

Комментарии доступны только авторизированным пользователям

В статье описывает практический пример того, как в коде 1С 8 реализовать подключение к MS SQL на другом сервере (рабочем месте) из удаленного рабочего стола Linux не только для чтения данных в базе СУБД, но и для добавления таблиц, создания/изменения записей таблиц.

Нажатие на изображении увеличит его
подключение к MS SQL из 1С 8.3 под Debian
Рис. 1. Пример конфигурации СУБД MS SQL Server, к которой настраивалось подключение из 1С 8.

В рамках практической задачи возникла необходимость работать из 1С 8.3, размещенной в Linux Debian, с данными которые хранятся на стороннем сервере с СУБД MS SQL Server.

Можно в принципе ограничиться информацией, если необходимо только читать, считывать, получать информацию по данным базы на MS SQL в 1С 8 посредством использования объекта конфигурации внешний источник данных: внешние источники данных 1с linux на windorez.ru

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

Во-первых, должны быть установлены соответствующие компоненты на самом сервере (по данным информации с сайта pikabu «Работа с данными на MS SQL из 1С 8.3 под Debian«):

Нажатие на изображении увеличит его
как настроить подключение к MS SQL из 1С 8.3 под Debian, руководство, инструкция
Рис. 2. Руководство, инструкция, рекомендации по настройке на рабочем месте
для создания соединения между 1С 8 на Debian и MS SQL

Далее важно правильно написать строку подключения. Благодаря обсуждению на форуме forum.mista.ru «Linux: подключение 1С 8 к базе MySQL» и «Подключение к внешним источникам данных из 1С (ODBC)» с сайта gee12.space —  был подобрано следующее решение:

Нажатие на изображении увеличит его

Рис. 3. Пакет SDK средств для связи клиента SQL.

Таким образом код, выполняющий подключение из 1С из под Linux Debian к MS SQL с помощью ODBC будет выглядеть примерно так:

ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
ПараметрыСоединения.СтрокаСоединения = «
|DRIVER={MySQL ODBC 5.1 Driver};
|SERVER=192.168.1.10;
|DATABASE=bitrix;
|UID=root;
|PWD=dbpassword;»;
ВнешниеИсточникиДанных.Сайт.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения);
ВнешниеИсточникиДанных.Сайт.УстановитьСоединение();

Последняя ссылка содержит переходы на развернутое описание процесса как «Настройка доступа к Microsoft SQL Server через ODBC» так и «Запись во внешний источник данных из 1С 8.3 используя хранимые процедуры MS SQL Server»

Важно, чтобы было установлено на удаленном сервере (Linux).
• ODBC
• FreeTDS — это набор библиотек которые позволяют работать с MS SQL и Sybase.

Рабочей оказалась строка подключения с актуальным свойством «Provider»:

SQL = Новый COMОбъект(«ADODB.Connection»);
SQL.Provider = «SQLOLEDB»;
СтрокаСоединения = «Data Source=[адрес_сервера,порт]; // или IP сервера
|Initial Catalog=[имя_базы];
|User ID=[пользователь_sql]; // по умолчанию «sa»
|Password=[пароль_sql];»;
SQL.Open(СтрокаСоединения);

тогда на примере с произвольными данными код строки соединения будет содержать «Provider = «SQLOLEDB»»:

Data Source=111.111.111.111,4444;  — адрес сервера или его IP с портом через «,»;
Initial Catalog=1C;  — имя базы на сервере MS SQL;
User ID=sa; — имя пользователя с достаточными правами для подключения и чтения/изменения данных MS SQL;
Password=passSQL;

Параметры строки подключения разделяются между собой с помощью «;».

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

обработки для тестирования соединения из 1С 8 с MS SQL Server под Linux Debian
Рис. 3. Внешний вид обработки для тестирования соединения из 1С 8 с MS SQL Server.

Небольшое стороннее замечание. На этом рисунке можно заметить, что закомментирована строка «SQL.Provider = «SQLEXPRESS»;» — которая отвечает за подключение к СУБД MS SQL Express. При переборе свойств «Provider» за основу исходно был использован код подключения к указанной СУБД, но он оказался не подходящим в данной задаче. Как в коде организовать подключение из 1С 8 для считывания данных из СУБД MS SQL Express ссылка на инструкцию будет представлена ниже.

А пока вернемся к текущей задаче:

Пример обработки (ссылка для скачивания) тестирования соединения, подключения к SQL из интерфейса 1С 8 приложен ниже. После открытия обработки необходимо заменить параметры в поле ввода. По кнопке «Тест подключения» выполняется тест. Если успешно, то будет выведено сообщение «Открытие выполнено успешно». Если возникнут проблемы и ошибки при попытке соединения с SQL из 1С при выполнении метода Open(), то будет выведено сообщение «Строка соединения: » с продолжением — указанием ошибки, которая должна позволить идентифицировать проблему, как например, на скриншоте — проблема в указании имени базы.

Скачать файл обработки
 

Так, например, на практике столкнулся с тем, что мне предоставили данные для строки соединения, я их копировал, вставлял, но получал ошибку, приведенную ниже на рис.4. Как оказалось в результате долгих разбирательств —  строке соединения для «Initial Catalog=» при предоставлении была использована русская буква «С» вместо английской «C» (очень странно, хотя мне данные подключения предоставлял технический специалист, а не какой-то простой пользователь).

Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Не удается открыть базу данных «1С», запрашиваемую именем входа. Не удалось выполнить вход.


Рис. 4. Ошибка, возникающая при попытке подключения к MS SQL из 1С 8 из-за русских символов в названии базы.

Можно было бы подумать, что «Port» можно выделить отдельно. Но это не будет работать. Будет возникать ошибка. Которая приведена ниже и на рис. 5.

Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Недопустимый атрибут строки соединения


Рис. 5. Ошибка возникающая при попытке подключения из 1С 8 к MS SQL в Linux,
если порт указан отдельным параметром строки соединения.

На рис. 3. читатель мог заметить, что закомментирован «Provider = «SQLEXPRESS»». Это частный случай практического подключения к базе MS SQL Express из 1С описан в другой статье. 

Оцените, оказалась ли эта публикация полезна для Вас?




© www.azhur-c.ru 2013-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

23-02-2023

Журавлев А.С.
(Сайт azhur-c.ru)

Назад

  • Remove From My Forums
  • Вопрос

  • Доброго времени суток!

    Ситуация следующая. Имеем MS Server 2008 Standart x64 SP1, MS SQL 2008 Standart x64 SP3, 1С предприятие 8.2.14.540 x64 (клиент серверный вариант). Сервер в домен не входит.

    Соответственно в 1с идет загрузка накладных из файла xls. На сервере установлен MS Office 2010 x64. Ошибка идет при загрузке excel файла «Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанного
    поставщика. Вероятно, он установлен неправильно.»

    В логах винды ошибок нет. Делал настройку dcomcnfg, чтобы пользователь usr1cv82, под которым запускается «Агент сервера 1с», имел доступ к com объектам. Также его добавил в группу Пользователи DCOM. Причем для тестирования то же самое делал на Server 2008 Standart
    R2 SP1 — там все работало.

    • Перемещено

      20 апреля 2012 г. 9:34
      merge forums (От:Windows Server 2008)

Ответы

    • Помечено в качестве ответа
      Yuriy Lenchenkov
      27 февраля 2012 г. 12:54
  • Спасибо за ответ, но самое интересное, что у меня получилась загрузка на windows 2008 r2 (и sql 2008r2). И еще я заметил, что в dcomcnfg
    на 
    2008 Standart x64 в Настройках DCOM нет пункта Приложение Excel, а в R2 есть….

    • Помечено в качестве ответа
      Yuriy Lenchenkov
      27 февраля 2012 г. 12:54

{ВнешняяОбработка.ТекстБиллинг.Форма.Форма.Форма(816)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

Прочитал с интернета, пробовал но не помогло. Как решит проблему кто знает помогите


  • Вопрос задан

    более трёх лет назад

  • 2067 просмотров

судя по всему, у вас «внешний источник данных» в 1С некорректно подключен (или пропал из досягаемости сервера 1С).
Решение, точно, пошагово не подскажу, но решение лежит в примерно там :
1С => Запуск приложения => Меню => Все функции => Стандартные => Управление внешними источниками данных => [Источник к которому идёт обращение в «ВнешняяОбработка.ТекстБиллинг.Форма.Форма.Форма(816)»].
Нужно проверить подключение (возможно переподключить/Проверить строку подключения)

Пригласить эксперта


  • Показать ещё
    Загружается…

14 июн. 2023, в 01:02

5000 руб./за проект

13 июн. 2023, в 23:37

1000 руб./в час

13 июн. 2023, в 23:22

15000 руб./за проект

Минуточку внимания

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове метода контекста open excel workbooks open
  • Ошибка при вызове метода контекста authenticate
  • Ошибка при вызове метода контекста loadcomponentfromurl
  • Ошибка при вызове метода контекста add произошла исключительная ситуация
  • Ошибка при вызове метода контекста initialize