Внешние источники данных на Linux-серверах 1С

11.05.16

База данных - Инструменты администратора БД

Не знаю, все ли внешние источники, изображенные на картинке, можно использовать в 1С, но многие из них точно можно прикрутить к 1С, в том числе и установленном на сервере под управлением замечательной свободной ОС LINUX.

Свобода выбора - необходимое преимущество

Добрый день, уважаемые товарищи! Господам тоже доброго времени суток, ежели вы к нам с Парижу понаехали. Речь ныне пойдет о замечательном инструменте, доступном в 1С - внешних источниках данных. Для того, чтобы разобраться в принципиальных моментах связи с ними, попробуем подключить два варианта внешних источников: MySQL и PostgreSQL. Для этого нам понадобится сервер под управлением ОС LINUX (у меня уже есть "сервер" в лице домашнего ноутбука - на нем и будем тренироваться), на котором установлен сервер 1С и, например, PostgreSQL с патчами от 1С (лично я использую замечательную сборку от Postgres PRO).

Вообще, можно подключить множество разных источников данных к 1С, включая MS SQL (из Linux). Подробности о других источниках можно нагуглить самостоятельно, а вот о MySQL и PostgreSQL я расскажу подробно и с картинками.

Теоретическая часть

Собственно, 1С работает со внешними источниками посредством соединения с ними через механизм ODBC (Open Database Connectivity, т.е. открытый коннектор к базам данных). Для windows все просто - качаем где-нибудь нагугленный дистриб с коннектором, молимся, чтобы в нем не было троянов с руткитами и на свой страх и риск ставим (да, сгущаю краски). В Linux все уже находится в репозитариях с цифровой подписью и сертификатами, степень защищенности которых пользователям M$ и не снилась, а код которых открыт, как душа ребенка. В итоге не надо ничего искать в гугле - достаточно набрать $ apt-caсhe search:

$ apt-cache search odbc
libiodbc2 - iODBC Driver Manager
odbc-mdbtools - MDB tools ODBC driver
odbcinst - Helper program for accessing odbc ini files
odbcinst1debian2 - Support library for accessing odbc ini files
unixodbc - Basic ODBC tools
erlang-odbc - Интерфейс Erlang/OTP к базам данных SQL
freetds-common - конфигурационные файлы для клиентских библиотек FreeTDS SQL
libiodbc2-dev - iODBC Driver Manager (development files)
libodbc1 - Библиотека ODBC для Unix
libreoffice-base-drivers - Database connectvity drivers for LibreOffice
libreoffice-sdbc-firebird - Firebird SDBC driver for LibreOffice
...

В общем много всего - экрана три-четыре. Обратите внимание на FreeTDS - это драйвер для MS SQL! Может кому пригодиться...

Практическая часть

Итак, для того, чтобы подключить внешний источник, нам необходимо установить пакет поддержки ODBC под Linux. Для mysql достаточно выполнить команду:

$ sudo apt-get install libmyodbc

После чего необходимо откорректировать файл /etc/odbcinst.ini, в котором добавить секцию:

[MySQL]
Description     = ODBC for MySQL
Driver          = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup           = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage       = 1

Для PostgrqSQL достаточно такой команды (и файлы править не надо):

$ sudo apt-get install odbc-postgresql

Все, после этого можно лезть в конфигуратор и подтыкать внешние таблицы. Для MySQL нужно делать так:

 

Тут мы подключили внешний источник из СУБД MySQL. База данных test, сервер - по-умолчанию localhost. После того, как мы нажмем "Ок", у нас на экране появится список таблиц данной БД и их поля. Можно выбрать, какие поля нам нужны, и нажать готово.

Дальше если мы зайдем в саму таблицу, то увидим знакомую картину, практически аналогичную справочнику. Можно использовать характеристики, устанавливать роли полей (для ключа и представления), в модуле менеджера можно указать функции для получения полей представления и самого представления. В модуле объекта доступны функции "ПередЗаписью", "ПриКопировании", "ПередУдалением" и т.д. и т.п. Также есть флаги для указания, что таблица доступна только для чтения... В общем и целом картина приятная у меня складывается.

При открытии 1С у нас данный внешний источник попадет в ту подсистему, в которую мы его добавим. Например, сюда:

Вот наша табличка "TestTbl". Но для того, чтобы увидеть сей чудный скрин, нужно еще кое-что сделать, а именно снова прописать наше соединение к БД, т.е. еще раз повторить те же действия, что мы делали в конфигураторе (не совсем понимаю логику разработчиков 1С, ну да и ладно):

Если Ваш источник находится на другом сервере 1С, то Вем нужно будет, сами понимаете, указать параметр Server. Т.к. у меня All In One, то мне так париться незачем.

Давайте проделаем то же самое с PostgreSQL. Тут следует обратить внимание на то, что при подключении к БД 1С, нужно указать драйвер PostgreSQL Unicode. Строка соединения в моем случае будет выглядеть так:

DRIVER={PostgreSQL Unicode};Database=jim;Server=localhost;

Подключение источника прошло успешно, но после попытки обновить данные (F5) мы видим такое вот сообщеньице:

С этим бороться можно только с помощью демонического списка, в котором не нужно выбирать те поля, которые 1С не сможет отобразить. В консоли же запросов все работает:

Заключение

Собственно, для подключения внешних источников данных к 1С, сервером для которой служит ОС Linux, не нужно обладать какими-либо уникальными админскими линуксовыми знаниями - все делается элементарно и просто. Вот небольшая пошаговая инструкция:

1. Найти с помощью apt-caсhe search нужный пакет (по слову "odbc" в идеале совмещенному с | grep dbname) и установить. Если так не нашлось - погуглить.

2. Проверить, появилась ли запись в файлике /etc/odbcinst.ini на данную тему. Если нет - добавить, обнаружив библиотеки в /usr/lib/x86_64-linux-gnu/odbc/ (вы же используете 64-битную систему, да?)

3. Зайти в конфигуратор и добавить внешний источник.

4. Добавить таблицу источника и задать строку подключения, имя пользователя и пароль (обычно убрав аутентификацию ОС).

5. Если что-то не подключается - проверить строку подключения и погуглить на эту тему.

6. Профит!

Linux ODBC внешние источники данных

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2980    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3545    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177759    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27383    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61320    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11746    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    31111    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10986    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. lustin 11.05.16 08:55 Сейчас в теме
(0) все хорошо для начала - но не хватает двух вещей

1. упоминания http://www.unixodbc.org/ - потому как любые проблемные сиутаций придется разруливать гугля/яндекся именно это словосочетание. На русском я обычно даю вот такую ссылку http://www.rldp.ru/mysql/myodbc/unixodbc.htm

2. отображение наименования в режиме динамического списка, а не в режиме прямого просмотра, связано c типом mchar который сделан в виде расширения к PG, на самом деле это баг и по моему он зарегистрирован даже на bugboard.
kawaietz; Shmell; alevnev; maximklementiev; zinal; +5 Ответить
2. starik-2005 3033 11.05.16 09:07 Сейчас в теме
(1) lustin, спасибо за коммент. Материал в принципе расчитан на тех, кто интересуется использованием внешних источников на linux. По поводу юниксодбц, то для строки подключения это не нужно особо знать, а по поводу отображения источника из постгри, то если не выбирать колонки с типом byte - все отображается в новых релизах, если не забыть про ключ и представление.

А вот при добавлении записей с русскими буквами, то при их сохранении в mysql источниках имеется проблеика. Не знаете, как решить?
4. konikamif 11.05.16 13:17 Сейчас в теме
(2) Нужно при подключении указать локаль. либо в настройках клиента, либо первый запрос должен быть SET NAMES [локаль]
локаль - cp1251 или utf8.
попробуйте подобрать. нет под рукой на чем попробовать
5. konikamif 11.05.16 13:23 Сейчас в теме
(2) по ссылочке которую дал lustin.
есть пример для настройки кодировки в файле /etc/odbcinst.ini

CLIENT_LOCALE=
DB_LOCALE=
3. EmpireSer 11.05.16 13:08 Сейчас в теме
(0) Интересно.
Но поправте русский, пожалуйста. Например у вас: "демонического списка", "то Вем нужно".
6. starik-2005 3033 11.05.16 13:26 Сейчас в теме
(3) EmpireSer, по поводу "Демонический" - то так и есть правильно))) По остальным поводам поправлю.
(4) konikamif, подскажите, как передать SET NAMES ... при обращении к источнику внешних данных из 1С?
(5) konikamif, у меня так не работает. А Вы пробовали или по ссылочке прочитали?
9. konikamif 11.05.16 13:59 Сейчас в теме
(6)Не пробовал. Но у вас точно проблема с кодировками.
Можно результаты запроса SHOW VARIABLES LIKE 'character%'; и SHOW VARIABLES LIKE 'collation%';
10. starik-2005 3033 11.05.16 14:04 Сейчас в теме
(9) konikamif, доберусь до дома - проверю. Но т.к. русские буквы отображаются в динамическом списке внешнего источника и проблема проявляется только при попытке записи, то предположу, что узкое место - это передача из 1С данных в ODBC. Таблица была создана через "CREATE TABLE tabletbl (ID INT(10) UNIQUE AUTO_INCRIMENT, name VARCHAR(100) CHARACTER SET utf8);"
7. Ibrogim 1311 11.05.16 13:55 Сейчас в теме
Круто. а будет ли работать с таблицами ms access?
8. starik-2005 3033 11.05.16 13:59 Сейчас в теме
(7) Ibrogim, http://www.easysoft.com/products/data_access/odbc-access-driver/ - тут есть драйвер, но он пропиетарный с пробным периодом 14 дней. Попробуйте.
11. Ibrogim 1311 11.05.16 15:46 Сейчас в теме
(8) за 600 баксов меня ваш аватар задушит
12. starik-2005 3033 11.05.16 16:12 Сейчас в теме
(11) Ibrogim, ну Вам за две недели надоест с аксессом мучиться и перетащите базу в аксессе на какой-нить скул (там есть подключение тех же внешних источников хранения) вместо внутреннего хранилища. И уже в тот скул через ODBC будете обращаться.
16. Ibrogim 1311 13.05.16 07:33 Сейчас в теме
(12)
ну Вам за две недели надоест с аксессом мучиться и перетащите базу в аксессе на какой-нить скул (

к сожалению это невозможно, баз очень много и в разных городах (связь по openVPN).

Сейчас есть файловые базы 1с играющие роль конструктора отчётов через внешние источники и разных EDI шлюзов, но беда в их файловости (нет нормальных регламентных заданий)
17. starik-2005 3033 13.05.16 10:37 Сейчас в теме
(16) Ibrogim, а не думали о мелкософтовском конструкторе отчетов M$ BI (или как его там?) - он умеет собирать из внешних источников данные и рисовать красивые графики и таблички? Или, как вариант, экспорт данных из аксесса в SQL (тот же MS, express), а потом подключение к нему 1С-ок.
18. Ibrogim 1311 13.05.16 12:28 Сейчас в теме
(17) У меня и так 1С (в рамках данной задачи) это прокладка. если ещё предварительно выгружать в sql то их уже становится две. тем более придётся придумывать что то чтоб данные были актуальны в этой промежуточной SQL.
А на счёт отчётов конечно можно и в эксель подрубить таблицы акцеса (я и 1С подключал) но не только отчётами едиными жива эта "база прокладка" . Говорю же там всякие ЕДИ и т.д. т.е. различный функционал прикручен внешний.
19. starik-2005 3033 13.05.16 16:15 Сейчас в теме
13. aximo 2027 11.05.16 18:00 Сейчас в теме
хотелось бы пояснений об sqlite
14. starik-2005 3033 11.05.16 21:40 Сейчас в теме
(13) aximo, а инструкция на что?
sergey@sergey-K53SC:~$ apt-cache search sqlite | grep odbc
libghc-hsql-odbc-dev - UnixODBC driver of the HSQL library for GHC
libghc-hsql-odbc-doc - API documentation of the hsql-odbc library for Haskell
libghc-hsql-odbc-prof - UnixODBC driver of the HSQL profiling library for GHC
libgnadeodbc-dbg - GNat Ada Database Environment - ODBC debugging symbols
libgnadeodbc2 - GNat Ada Database Environment - ODBC interface
libgnadeodbc2-dev - GNat Ada Database Environment - ODBC programming interface
libsqliteodbc - ODBC driver for SQLite embedded database
sergey@sergey-K53SC:~$ sudo apt-get install libsqliteodbc
$ cat /etc/odbcinst.ini
[SQLite]
Description		= SQLite ODBC Driver
Driver		= libsqliteodbc.so
Setup		= libsqliteodbc.so
UsageCount		= 1

[SQLite3]
Description		= SQLite3 ODBC Driver
Driver		= libsqlite3odbc.so
Setup		= libsqlite3odbc.so
UsageCount		= 1
Показать
Прикрепленные файлы:
15. starik-2005 3033 12.05.16 00:06 Сейчас в теме
(14) кстати, под Linux не стала работать sqlite3. Т.е. она работает, но строки получаются без четных букв. Т.е. вместо "Новый объект" выходит "Нвйоък". Не смог забороть - хоть драйвер переписывай.
37. tired 08.02.23 07:13 Сейчас в теме
(15) эта ошибка наконец "принята к исправлению": https://bugboard.v8.1c.ru/error/000132034
Описание:
При работе под управлением операционной системы Linux в конфигураторе в конструкторе таблиц внешнего источника данных при добавлении таблицы внешнего источника данных СУБД SQLite имя таблицы отображается некорректно, список ее полей не отображается.
38. starik-2005 3033 09.02.23 08:56 Сейчас в теме
(37) Странно, что в 16-м году проблем с именами таблиц на латинице не было - они были в полях с русскими буквами (wchar 2/4 байта 1С неверно преобразовывала). А теперь вот в самих именах полей и таблиц проблемы, получается.
39. tired 18.04.23 07:30 Сейчас в теме
(15) утверждают, что данную ошибку исправили в версии 8.3.23.1672 (https://bugboard.v8.1c.ru/error/000132034), которая пока предназначена для тестирования.
40. tired 28.04.23 10:14 Сейчас в теме
(15) вышел первый стабильный выпуск платформы, в котором исправлена данная ошибка, - версия 8.3.23.1688.
20. Serginio 938 26.08.16 23:28 Сейчас в теме
Добавлю про альтернативу
1С, Linux, Excel, Word, OpenXML, Net Core

Кроме того есть множество провайдеров к различным базам данных, как MS SQL так и другим, в том числе NoSQL

Приведу пример доступа к MS SQL
СборкаSqlClient=ъ(Врап.Сборка("System.Data.SqlClient.dll"));
    SqlConnection=ъ(СборкаSqlClient.GetType("System.Data.SqlClient.SqlConnection"));
    SqlCommand=ъ(СборкаSqlClient.GetType("System.Data.SqlClient.SqlCommand")); 
    
    connection =ъ(Врап.Новый(SqlConnection.ПолучитьСсылку(),ConnectionString));
    connection.Open();
    
    ТекстЗапроса = "Select Номенклатура.DESCR Наименование  From sc84 Номенклатура where DESCR Like '%'+@Строка+'%'
    |order by Номенклатура.DESCR";
    
    
    command = ъ(Врап.Новый(SqlCommand.ПолучитьСсылку(),ТекстЗапроса,connection.ПолучитьСсылку()));
    
    Parameters=ъ(command.Parameters);
    Parameters.AddWithValue("@Строка", "ДСП");
    dr = ъ(command.ExecuteReader());
    
    Пока dr.Read() Цикл
        Сообщить(dr.get_Item("Наименование"));
    КонецЦикла;
Показать

При этом можно сделать обертку DynamicObject над SqlDataReader и использовать так
Пока dr.Read() Цикл
        Сообщить(dr.Наименование);
    КонецЦикла;
21. starik-2005 3033 28.08.16 10:33 Сейчас в теме
(20) Serginio, по поводу Excel, то, полагаю, для 8.3 это уже не нужно - платформа умеет читать оный формат в табличный документ. А 8.2 на Linux-сервере некоторым образом работает не очень хорошо, да и с Postgres'ом она не на столько хорошо дружит, как 8.3.

Ну и правильно бы было сразу привести функцию ъ()
Функция Ъ(Ссылка)
    // Создаем объект по ссылке полученной из методов .Net классов
    //Физически это строка ёЁ<Ьъ>№_%)Э?&2 содержащее 12 символов для отделения их от других строк
    //и индекс в спике исполуемых объектов на стороне .Net

    рез = Новый("AddIn.NetObjectToNative.NetObjectToNative");
    // И установим ссылку
    рез.УстановитьСсылку(Ссылка);    
    возврат  рез
КонецФункции // СоздатьОбъектПоСсылке()
Показать


А раз нам нужна какая-то внешняя компонента, то данный механизм уже может быть приведен лишь как альтернатива базовым механизмам платформы, которые приведены в статье.
22. Serginio 938 28.08.16 11:27 Сейчас в теме
(21)
Я же т напмсал >> Добавлю про альтернативу

Я задал вопрос 1С Linux. Что не хватает по сравнению с Windows?
http://forum.infostart.ru/forum26/topic157263/message1610545/#message1610545
http://www.forum.mista.ru/topic.php?id=779135

Ответов очень мало. Суть то в том, что бы избавиться от ъ, нужна поддержка 1С.
Но по сути то это 60 мегабайт .Net Core на разрядность. Но можно использовать все стандартные классы .Net Core и плюс огромную кучу сторонних библиотек.

И если ввести наряду с ComОбъект и Вэб Сервисам то можно писать

connection = new Net.System.Data.SqlClient.SqlConnection(ConnectionString);

     command = new Net.System.Data.SqlClient.SqlCommand(ТекстЗапроса,connection);


Кроме того можно добавлять русскоязычные синонимы для свойств и методов классов.

Для меня является загадкой чем использование .Net Классов отличается от использования COM объектов или вэб сервисов?
23. ineshyk 18.12.16 05:21 Сейчас в теме
А под Ubunu 16.04 есть инструкция для 32 битной 1с на 64х машине
24. starik-2005 3033 18.12.16 12:26 Сейчас в теме
(23) а с какой целью Вы в 2017-м почти году хотите 32-битную систему поставить? В Linux есть возможность использовать мультиархитектуру https://wiki.debian.org/Multiarch/HOWTO
25. ineshyk 18.12.16 18:59 Сейчас в теме
(24) Так исторически сложилось, что сервер 1с 32битный. Работать с х64 драйвером он не будет.



26. ineshyk 18.01.18 16:29 Сейчас в теме
подключаюсь в Firebird базе
такой конфиг odbc

[baseName]
Description = Firebird
Driver = Firebird
Dbname = dbname
User = SYSDBA
Password = masterkey
Role = 
CharacterSet =
ReadOnly = No
NoWait = No
Показать


Почему-то не отображаетя кириллица.
Что нужно еще указать в конфиге, чтобы все было ок?
27. starik-2005 3033 19.01.18 10:45 Сейчас в теме
(26)
Что нужно еще указать в конфиге, чтобы все было ок?
Сложно сказать без возможности проверить, но мысль о "CharacterSet = [Кодировка в базе, например, UTF-8]". Но предположу, что вдоску виндузятники, создавая базу файрберда, указали там cp1251...
28. ineshyk 22.01.18 09:57 Сейчас в теме
(26) указываю в строке подключения CharacterSet=win1251, не помогло.
База в win1251, но при подключении все равно не читает кириллицу. В чем еще может быть проблема?
29. log777 13.03.18 17:12 Сейчас в теме
У меня на 32х разрядной 1с заработало с версией драйвера Firebird ODBC 2.0.0 с CharacterSet=UNICODE_FSS. База в кодировке Win1251. Локаль Linux UTF8.
30. ivoryblade 02.04.18 10:49 Сейчас в теме
Добрый день! Столкнулся со схожей проблемой. Сервер Предприятия на Ubuntu необходимо подключаться к базе Firebird на удаленном компе с Windows. До этого стоял старый сервер на Windows Server и обработка работала нормально. Сейчас же ни в какую из 1С подключаться не хочет, хотя в консоли сервера isql подключается нормально к нужной базе. Сервер 1С х64 ОС соответственно тоже.

/etc/odbc.ini
[Firebird]
Description		= Firebird/InterBase® driver
Driver		= /usr/lib/x86_64-linux-gnu/odbc/libOdbcFb.so
Setup		= /usr/lib/x86_64-linux-gnu/odbc/libOdbcFb.so
FileUsage		= 1
UsageCount		= 5



/etc/odbcinst.ini
[Terra]
Description		= Firebird/InterBase® driver
Driver		= Firebird
Dbname		= xx.xx.xx.xx/3050:C:\Windows\System32\vesterm.fdb
User		= SYSDBA
Password		= ********
Role		= 
CharacterSet		= WIN1251
ReadOnly		= No
NoWait		= No
Dialect		= 3
QuotedIdentifier		= Yes
SensitiveIdentifier		= No
AutoQuotedIdentifier		= No
Показать


Строка соединения которую я использую в 1C

DRIVER={Firebird};UID=SYSDBA;PWD=******;DATABASE=xx.xx.xx.xx/3050:C:\Windows\System32\vesterm.fdb


Пробовал использовать alias базы эффект тот же... Помогите пожалуйста разобраться что я не так делаю.
Прикрепленные файлы:
31. 1c_nik923 22.03.19 08:04 Сейчас в теме
19 год на дворе а я только открыл для себя данный инструмент! За статью +
32. 1c_nik923 03.04.19 07:00 Сейчас в теме
Хотя нашел интересную ошибку, если знаете как решить, подскажите.
Прикрепленные файлы:
starik-2005; +1 Ответить
33. starik-2005 3033 03.04.19 10:40 Сейчас в теме
(32) Я бы в сторону кодировки смотрел. Ошибка не гуглится вообще, слово "occurred" неверно написано даже))) Попробуйте простой запрос на селект и установите в соединении кодировку (смотрите, что там со строкой соединения) utf-8 (мало ли в оригинальной таблице кодировка виндовая, например, или еще какая).

https://www.connectionstrings.com/mysql/
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
CharSet=utf8;
-- Protocol=memory;Shared Memory Name=MYSQL;
34. VVi3ard 52 07.10.19 15:47 Сейчас в теме
Может кто встречал способ использовать odbc в linux без внешних источников, например через NativeVK или хотя бы командную строку.
Т.к. внешние источники это хорошо но иногда нужно уметь подключаться к произвольной базе без доработки конфигурации.
35. victor_goodwill 46 21.01.20 15:56 Сейчас в теме
(34) Поддерживаю вопрос, так как сами сейчас ищем
36. starik-2005 3033 27.01.20 11:19 Сейчас в теме
(34)
способ использовать odbc в linux без внешних источников
Я когда-то давно на 7.7 еще просто сервис писал (веб). Дальше GET'ом все можно сделать. А уж что там веб-сервис будет дергать - пофиг, хоть питон, хоть пыху...
Оставьте свое сообщение