URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95162
[ Назад ]

Исходное сообщение
"Внешние источники данных unixODBC+1C"

Отправлено BigfootDaddy , 05-Ноя-13 11:46 
Имеем CentOS 6.4 x64. Установлен сервер 1С 8.3 и PostgreSQL 9.1. Развернута копия рабочей базы, в домен не вводил для авторизации из AD. Необходимо настроить обмен в внешней транзитной базой на MS SQL 2008. Установил unixODBC-2.2.14 и freetds-0.91.
Файл /etc/freetds.conf:
[MSSQL]
host = xxx.xxx.xxx.xxx
port = 1433
client charset = UTF-8
tds version = 8.0


Проверил, все коннектится:
# tsql -S MSSQL -U sa -P password
locale charset is "UTF-8"
using default charset "UTF-8"
1>

Запросы выполняются, все ОК.
Идем дальше. Файл /etc/odbcinst.ini:
[FreeTDS]
Description      = MS SQL Driver
Driver      = /usr/lib64/libtdsodbc.so.0
Setup      = /usr/lib64/libtdsS.so
FileUsage      = 1

Файл /etc/odbc.ini
[DSN]
Driver      = FreeTDS
Description      = MS SQL connector
Servername   = MSSQL
Database      = DBname

Регистрирую драйвер и источник:
# odbcinst -i -d -f /etc/odbcinst.ini
# odbcinst -i -s -l -f /etc/odbc.ini

Проверяю, все подключается, и запросы выполняет:
# isql -v DSN sa password
+------------------------------+
| Connected!               |
|                                         |
| sql-statement            |
| help [tablename]         |
| quit                                  |
|                                         |
+------------------------------+
SQL>

Пока все пучком. Но теперь самое интересное. Из-под пользователя usr1cv8, под которым крутится сервис srv1cv8 тоже все прекрасно подключается, но когда я пытаюсь настроить "Внешние источники" через конфигуратор, выбирая из списка драйверов FreeTDS, получаю ошибку: "Ошибка получения параметров строки соединения. Возможно, драйвер не позволяет получать параметры строки соединения".
Ладно, в строке параметров пописываю:
DRIVER={FreeTDS};DSN=MSSQL;UID=sa;Password=password;

... и получаю ошибку:

Error 0
[unixODBC][FreeTDS][SQL Server]Unable to connect to data source
Error 20013
[unixODBC][FreeTDS][SQL Server]Unknown host machine name

И все. На этом мысль заканчивается. Точнее, я пробовал регистрировать драйвер и источник из-под usr1cv8, думая, что проблемы с правами, делал алиас isql='sudo isql', все, что связано с odbc сносил и ставил опять - не помогает. Сам я совсем не 1с-ник, потому прошу помощи тут, может кто сталкивался с таким и подскажет, куда копать?


Содержание

Сообщения в этом обсуждении
"Внешние источники данных unixODBC+1C"
Отправлено pavel_simple , 05-Ноя-13 12:35 
>[оверквотинг удален]
> настроить "Внешние источники" через конфигуратор, выбирая из списка драйверов FreeTDS,
> получаю ошибку: "Ошибка получения параметров строки соединения. Возможно, драйвер не позволяет
> получать параметры строки соединения".
> Ладно, в строке параметров пописываю:
> DRIVER={FreeTDS};DSN=MSSQL;UID=sa;Password=password;
> ... и получаю ошибку:
> Error 0
> [unixODBC][FreeTDS][SQL Server]Unable to connect to data source
> Error 20013
> [unixODBC][FreeTDS][SQL Server]Unknown host machine name

я тут ничего нипонимаю -- но сказать имею следующие
когда вручную прописана "строка параметров" игнорируется [jcn на который необходимо коннектиться, соответственно его нужно прописать дополнительно в "строке параметров"

гугол говоhит что тут похоже http://karataev.nm.ru/cache/linuxtomssql.html, но из того что не сделано виджу только
ODBCINI=/etc/odbc.ini
SYSODBCINI=/etc/odbc.ini


> И все. На этом мысль заканчивается. Точнее, я пробовал регистрировать драйвер и
> источник из-под usr1cv8, думая, что проблемы с правами, делал алиас isql='sudo
> isql', все, что связано с odbc сносил и ставил опять -
> не помогает. Сам я совсем не 1с-ник, потому прошу помощи тут,
> может кто сталкивался с таким и подскажет, куда копать?


"Внешние источники данных unixODBC+1C"
Отправлено BigfootDaddy , 05-Ноя-13 14:53 
>>[оверквотинг удален]
> гугол говоhит что тут похоже http://karataev.nm.ru/cache/linuxtomssql.html, но из того
> что не сделано виджу только
> ODBCINI=/etc/odbc.ini
> SYSODBCINI=/etc/odbc.ini

Статью эту читал, не помогает это 8(


"Внешние источники данных unixODBC+1C"
Отправлено pavel_simple , 05-Ноя-13 15:18 
>>>[оверквотинг удален]
>> гугол говоhит что тут похоже http://karataev.nm.ru/cache/linuxtomssql.html, но из того
>> что не сделано виджу только
>> ODBCINI=/etc/odbc.ini
>> SYSODBCINI=/etc/odbc.ini
> Статью эту читал, не помогает это 8(

а при чём сдесь эта статья? яж выше написал что не хватает хоста в строке подключения
|DRIVER={SQLite ODBC Driver};
|SERVER=192.168.1.10;
|DATABASE=bitrix;
|UID=root;

чито нипонятно?


"Внешние источники данных unixODBC+1C"
Отправлено BigfootDaddy , 05-Ноя-13 16:47 
> а при чём сдесь эта статья? яж выше написал что не хватает
> хоста в строке подключения
> |DRIVER={SQLite ODBC Driver};
> |SERVER=192.168.1.10;
> |DATABASE=bitrix;
> |UID=root;
> чито нипонятно?

Ты думаешь, что я так не пробовал? Я не стал писать все возможные варианты, которые я использовал в строке параметров. Такие - тоже. И SERVER, и SERVERNAME из freetds.conf. Результат - тот же.


"Внешние источники данных unixODBC+1C"
Отправлено pavel_simple , 05-Ноя-13 16:57 
>> а при чём сдесь эта статья? яж выше написал что не хватает
>> хоста в строке подключения
>> |DRIVER={SQLite ODBC Driver};
>> |SERVER=192.168.1.10;
>> |DATABASE=bitrix;
>> |UID=root;
>> чито нипонятно?
> Ты думаешь, что я так не пробовал? Я не стал писать все
> возможные варианты, которые я использовал в строке параметров. Такие - тоже.
> И SERVER, и SERVERNAME из freetds.conf. Результат - тот же.

мне то что думать -- у меня 1ц неработает потому что такой необходимости нет, а это
Error 0
[unixODBC][FreeTDS][SQL Server]Unable to connect to data source
Error 20013
[unixODBC][FreeTDS][SQL Server]Unknown host machine name
определённо говорит о том что подключение не работает по причине отсутствия имени/ip хоста в строке подключения


"Внешние источники данных unixODBC+1C"
Отправлено BigfootDaddy , 05-Ноя-13 18:00 
> мне то что думать -- у меня 1ц неработает потому что такой
> необходимости нет, а это
> Error 0
> [unixODBC][FreeTDS][SQL Server]Unable to connect to data source
> Error 20013
> [unixODBC][FreeTDS][SQL Server]Unknown host machine name
> определённо говорит о том что подключение не работает по причине отсутствия имени/ip
> хоста в строке подключения

..везучий человек, раз с желтой программой  не работаешь ))

После внесения переменных ODBCINI и SYSODBCINI - ошибка вроде как исчезла, но результата ноль. Т.е. к базе не подключается. Прогеры обещали думать. Пока все.


"Внешние источники данных unixODBC+1C"
Отправлено Олег , 18-Фев-14 10:46 
> После внесения переменных ODBCINI и SYSODBCINI - ошибка вроде как исчезла, но
> результата ноль. Т.е. к базе не подключается. Прогеры обещали думать. Пока
> все.

Добрый день!

Что-нибудь в итоге удалось сделать дальше? У меня и для 8.2 такая же штука.
А если создать таблицу в источнике вручную и обращаться к ней программно, то ругается "Ошибка SDBL:
Внутренняя ошибка: сбой в функции buildTopLevel"