![]() |
![]() |
|
v8: Внешние источники данных. Не могу к ним подключиться в серверном варианте | ☑ | ||
---|---|---|---|---|
0
Komrat
20.12.11
✎
09:20
|
Есть сервер FireBird к которому необходимо подсоединяться используя объект ВнешниеИсточники данных.
В файловом варианте конфигурации соединение создается успешно, в серверном варианте нет. Код один и тотже: Процедура ДействияФормыПолучитьИзБазы(Кнопка) ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных; ПараметрыСоединения.СтрокаСоединения = "DRIVER={Firebird/InterBase(r) driver};CHARSET=NONE;UID=SYSDBA;PWD=masterkey;DBNAME=server01:basa01"; ВнешниеИсточникиДанных.Perco.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения); ВнешниеИсточникиДанных.Perco.УстановитьСоединение(); Запрос = Новый Запрос; Запрос.Текст = "........ В серверном варианте перед процедурой добавляю: &НаКлиенте Процедура ДействияФормыПолучитьИзБазы(Кнопка) Ошибка следующая: Ошибка ODBC. SQLSTATE: IM002 Номер ошибки: 0 Описание: [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию ODBC драйвер FireBird установлен только на клиентской машине. Как-будто не учитывается деректива &НаКлиенте и процедура выполеяется на Сервере. Что делаю не так? |
|||
1
Komrat
20.12.11
✎
10:18
|
Какие есть мнения?
|
|||
2
Defender aka LINN
20.12.11
✎
10:21
|
А если ВнешниеИсточникиДанных под лупой в СП, скажем, изучить? Не выяснится ли ВНЕЗАПНО, что она работают через сервер?
|
|||
3
Komrat
20.12.11
✎
10:25
|
При первом прибижении через лупу:
УстановитьСоединение (Connect) Синтаксис: УстановитьСоединение() Описание: Устанавливает соединение с внешним источником данных. Доступность: Сервер, толстый клиент, внешнее соединение. То есть должно работать как на сервере, так и на клиенте (толстом). |
|||
4
mzelensky
20.12.11
✎
10:26
|
(0) а в чем вообще ФИШКА этих "Внешние источники данных"??? почему нельзя просто через старые КОМЫ работать???
|
|||
5
Defender aka LINN
20.12.11
✎
10:27
|
(3) Если бы оно в толстом не было доступно, у тебя бы еще раньше падало, на этапе компиляции.
А УстановитьСоединение() что говорит? |
|||
6
Defender aka LINN
20.12.11
✎
10:27
|
(4) Типа, стандартно и удобно, как я понимаю. Сам еще 14 платформу не ставил, правда, ХЗ чего там :)
|
|||
7
Komrat
20.12.11
✎
10:30
|
Говорит: Ошибка при вызове метода контекста (УстановитьСоединение)
ВнешниеИсточникиДанных.Perco.УстановитьСоединение(); по причине: Ошибка ODBC. SQLSTATE: IM002 Номер ошибки: 0 Описание: [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию |
|||
8
mzelensky
20.12.11
✎
10:30
|
(6) удобно это когда все работает без заморочек. У тут нужно в конфигураторе ковыряться, опять целая куча параметров и т.д. и т.п.
|
|||
9
Defender aka LINN
20.12.11
✎
10:31
|
(7) Я про СП, вообще-то
|
|||
10
Komrat
20.12.11
✎
10:32
|
Расшифруй "СП"
|
|||
11
Defender aka LINN
20.12.11
✎
10:34
|
(10) Ты после (3) резко забыл, что это значит?
|
|||
12
Komrat
20.12.11
✎
10:35
|
(11) :)
|
|||
13
Defender aka LINN
20.12.11
✎
10:38
|
(12) В общем, если там есть че-нить типа "вызывает обращение к серверу", то к гадалке не ходи - я в (2) угадал.
|
|||
14
Komrat
20.12.11
✎
10:50
|
(13) Нет в СП описание такого ограничения, что только через сервер. В файловом варианте все работает. Так вот я и думал, что деректива &НаКлиенте перед процедурой должна отработать правильно, но нет. Если я ставлю дерективу &НаСервере, то кнопка в форме становить неактивной.
|
|||
15
Defender aka LINN
20.12.11
✎
10:51
|
(14) Директива работает правильно. Скопируй сюда из СП описание УстановитьСоединение()
|
|||
16
Komrat
20.12.11
✎
10:54
|
Так в (3) это и сделано
|
|||
17
Defender aka LINN
20.12.11
✎
10:59
|
(16) Че-то думал, там что-то другое :)
Ну, ройся в документации, но, видимо все же (2). |
|||
18
Komrat
20.12.11
✎
12:10
|
Ни чего не нашел.
Пошел другим путем. Установил драйвер на ODBC FireBird на сервер 1С. Теперь стал ругаться на gds32.dll. Отсюда следует, что вне зависимости от дерективы компелятора: "&НаКлиенте" подключение к внешнему источнику данных осуществяет сервер. Очень странно. Вот ошибка: Ошибка ODBC. SQLSTATE: 08004 Номер ошибки: -904 Описание: [ODBC Firebird Driver]Unable to connect to data source: library 'gds32.dll' failed to load Сразу оговорюсь, что сервер х64 (Windows Server 2008 R2). Драйвер устанавливал тоже х64 Подсунул в system32 и system файл 'gds32.dll' со своей машинки, не помогло. Ошибка таже. |
|||
19
Komrat
20.12.11
✎
13:04
|
UP
|
|||
20
borik
20.12.11
✎
13:27
|
(19) Для начала я бы настроил odbc data source administrator, проверил соединение, подключисля бы например из Excel потом дальше бы уже гемороился...
|
|||
21
Komrat
20.12.11
✎
13:41
|
Подсунул х64 gds32.dll на сервер 1С. Все заработало. С одной стороны это хорошо, что соединение устанавливает сервер, т.к. не надо на клиентах устанавливать ODBC драйвер. А с другой стороны раз сказано &наКлиенте и в описании дано, что метод УстановитьСоединение() подерживается на толстом клиенте, то будь добр выполни его.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |