Имя: Пароль:
1C
1С v8
Чтение базы Perco
,
0 Вжескрыылг
 
07.01.16
10:23
Кто-нибудь читал базу Perco без установки IBProvoder, без компоненты PERCo_S20_1C.dll, типа как у http://catalog.mista.ru/profile/71422/?
1 ILM
 
гуру
07.01.16
10:31
Только череp IBProvider читаем. Не проблема загрузить запросом в выборку и построчно занести в ТЗ. У нас за год на 500 человек минут 10 отчет делается.
2 ILM
 
гуру
07.01.16
10:39
Единственный совет ставить 32-х разрядный IBProvider на все оси, а при подключении вызывать уже подставлять нужные пути к DLL.
3 Вжескрыылг
 
07.01.16
11:09
(2) у меня х64. кстати, IBProvider free прокатит?
4 Вжескрыылг
 
07.01.16
11:15
Как написано,
БД = Новый COMОбъект("ADODB.Connection");
БД.Provider = "LCPI.IBProvider";
Без установленного IBProvider БД.Provider = "MSDASQL"
5 Вжескрыылг
 
07.01.16
11:15
На все оси без проблем, все в терминале работают
6 Вжескрыылг
 
07.01.16
11:20
и что-то IBProvider не могу скачать - все какие-то пароли высылает на почту, вроде скачиваешбь, ставишь, опять коды доступа получаешь, включаешь - не работает.
7 Вжескрыылг
 
07.01.16
11:33
Так, поставил IBProvider, отрабатывает код

БД = Новый COMОбъект("ADODB.Connection");
БД.Provider = "LCPI.IBProvider";
БД.ConnectionString = "data source = ""D:\Базы.1с8\СКУД\SKUD.DB\SCD17K.fdb""; ctype = WIN1251; User ID = sysdba; Password = masterkey; auto_commit = true";

может кто-нить выложить кусок кода для чтения входов-выходов сотров?
8 Вжескрыылг
 
07.01.16
13:20
для ConnectionString много вариантов, попробовал разные. БД не открывается.
9 Garykom
 
гуру
07.01.16
13:40
10 Вжескрыылг
 
07.01.16
13:40
"Не удается найти указанного поставщика. Вероятно, он установлен неправильно" ссылок в гугле тысячи...
11 Вжескрыылг
 
07.01.16
13:46
(9) ссылка №1: Внешняя компонента : unavailable database. Ответ автора "Протестировал в регламентном задании на 64-битном сервере. DLL не загружается. И это, наверное, естественно... "
ссылка №2 - как раз пырюсь в нее и переписываю строки подключения. результат: "Не удается найти указанного поставщика. Вероятно, он установлен неправильно"
12 Garykom
 
гуру
07.01.16
13:48
(11) ссылка №1 посмотрите ответ автора №14
"Данная компонента подключается к базе, а не к файлу. Установите Firebird. Авторизация по-умолчанию "
13 Вжескрыылг
 
07.01.16
14:24
Да не хочется устанавливать Firebird куда попало. У Perco свой сервер. Указание базы по сети, конечно, не работает.
14 Garykom
 
гуру
07.01.16
14:27
(13) если нужно только чтение базы то хватит запуска на том компе/сервере где стоит Perco некой проги/скрипта по расписанию

который выгрузит все данные (нужные) куда то, откуда 1С и будет читать
15 Garykom
 
гуру
07.01.16
14:29
еще ссылки
http://catalog.mista.ru/public/307641/
http://catalog.mista.ru/public/309202/

да чем через их SDK не устраивает? нелегальная установка?
16 Вжескрыылг
 
07.01.16
14:32
(14) тогда уж приказать охраннику, чтоб выгружал файлик csv.. наоборот, было желание, чтобы 1С по расписанию создавала док с временем пребывания сотра на работе по данным perco.
Чот я больше склоняюсь к  IBProvider. может, если 1С х32, то и провайдер должен быть х32?
17 Вжескрыылг
 
07.01.16
14:41
(15) 1-я ссылка "Не удается найти указанного поставщика. Вероятно, он установлен неправильно"
2-я ссылка что за dll-ка для
Новый COMОбъект("Perco_s20_SDK.ExchangeMain")?
Установка была норм, но давно. Есть модуль в УПП ч/з PERCo_S20_1C.dll, они в perco нового сотра добавляют, а вот читать эта dll не хочет - типа, нет лицензии. пробовал я без всяких проверок лицензии запрос сделать, возвращает пусто.
18 Вжескрыылг
 
07.01.16
14:43
(15) кстати, из ссылки про v8_fbsql.dll я GDS32.dll брал именно с сервера Perco, приведенная в публикации не регилась.
19 Вжескрыылг
 
07.01.16
14:47
(0) желательно, чтобы был файл fdb сам по себе, и чтобы его прочитать.
20 rphosts
 
07.01.16
15:32
(0) через
Соединение = Новый COMОбъект("ADODB.Connection");
подключаемся и читаем в базу 1С... у нас всё кроме логера вертушки ведётся в 1С (отчёты, регистрация заявок на выходы в выхи, из зупии импортируются сведения о отпусках, командировках и больничных).
21 Вжескрыылг
 
07.01.16
15:52
(20) выложи код подключение хотя бы, а то у меня open не срабатывает. Кстати, файл fdb у вас на сервере perco, или он может быть куда-то скопирован для опытов? Судя по строке подключения, Firebird не нужна.
22 Вжескрыылг
 
07.01.16
15:54
(20) выдает "Не удается найти указанного поставщика. Вероятно, он установлен неправильно". IBProvider х64, может, в этом дело?
23 rphosts
 
07.01.16
16:16
что-то типа так:

Соединение = Новый COMОбъект("ADODB.Connection");    
Соединение.ConnectionString     = "driver=Firebird/InterBase(r) driver; Dialect=3; CHARSET=NONE; Uid=**;Pwd=***;Dbname=**";
Соединение.ConnectionTimeOut    = 800;
Соединение.CursorLocation       = 3;
    
Попытка
     Соединение.Open(Соединение.ConnectionString);
    Возврат Соединение;

ODBC драйвера для файербирда 2.0 на сервере разумеется стоят.
24 Вжескрыылг
 
07.01.16
16:34
"Не удалось подключиться к БД PerCo. {Форма.Форма.Форма(17)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию"
Установлен IBProvider 3.27.0, который вроде и с файербердовсими, и итрербейсовсими базами работает.
25 Garykom
 
гуру
07.01.16
16:38
(24) может все таки на сервер или куда там еще драйвер от огнептички odbc-ный то поставишь?
26 rphosts
 
07.01.16
16:39
(24) нативный оджбс тебе поставить религия запрещает?
27 rphosts
 
07.01.16
16:39
*одбс
28 Вжескрыылг
 
07.01.16
16:52
поставил Firebird_ODBC_2.0.3.154_x64 на локальном компе. скопированную с сервера на локальный комп не читает.
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]unavailable database
Попробую подключиться к базе на сервере
29 Вжескрыылг
 
07.01.16
16:55
если по "выполнить" \\192.168.0.217\SKUD.DB\ открывает папку с базой. если тож самое пишу в Dbname, то:
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]File Database is not found
30 Вжескрыылг
 
07.01.16
16:59
Если Dbname=192.168.0.217:C:\SKUD.DB\SCD17K.FDB, то
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]Unable to complete network request to host "192.168.0.217".
Failed to establish a connection.
31 Вжескрыылг
 
07.01.16
16:59
ConnectionTimeOut это в мс?
32 Garykom
 
гуру
07.01.16
17:05
(29) скажите а случаем пароля не спрашивало при первом доступе на этот путь?

из проводника?
33 Вжескрыылг
 
07.01.16
17:07
(32) не, я давно зашел на этот сервер ч/з vpn
34 Вжескрыылг
 
07.01.16
17:11
а DataSource не надо указывать?
35 Вжескрыылг
 
07.01.16
17:12
иди порт указать?
36 Вжескрыылг
 
07.01.16
17:15
или у соединения провайдера указать явно?
37 Вжескрыылг
 
07.01.16
18:02
(32) ну да, в первый раз спросили
38 Вжескрыылг
 
07.01.16
18:03
(32) залогинился по rdp через vpn
39 ILM
 
гуру
07.01.16
19:13
Ставь 32 битный IBProvider 2.5, из него коннект строка, а путь к DLL  пиши в строке подключения.
40 Вжескрыылг
 
07.01.16
19:57
(39) меня терзают смутные сомнения. а чиркает ли вертушка в базу? мб там все прокисло? попрошу тамошнего админа проверить.
41 Вжескрыылг
 
07.01.16
19:59
(39) как это - путь к dll в строке подключения (извини, нагуглил штук 10 образцов строк подключения, но нигде нет dll)
42 ILM
 
гуру
07.01.16
20:24
Вертушки у нас чиркают, но датчики главнее)))

Примерно так

Сonn = CreateObject("ADODB.Connection");
  Conn.ConnectionString = "Driver=Firebird/InterBase(r) driver;" +
     "Dbname=192.168.1.200/3050:D:\DB\MYDATABSE.FDB;" +  // Исправьте на свой IP, порт и путь к базе данных !
     "UID=SYSDBA;" +                                     // Исправьте на свое имя пользователя !
     "PWD=masterkey;" +                                  // Исправьте на правильный пароль !
     "CHARSET=WIN1251;" +                                // Исправьте на свою кодировку подключения !!!
     "client=C:\Program Files\Firebird\Firebird_2_5\bin\fbclient.dll";
// вот тут путь от оси зависит и нас IBClient и DLL другая
43 rphosts
 
08.01.16
05:03
(42) если dll зарегистрирована(regswr) разве путь к ней нужно указывать?
44 Вжескрыылг
 
08.01.16
10:16
Установил IBProvider_trial_vc12xp_32bit, попробовал открыть базу, скопированную на комп, где нет огнептицы
БД = Новый COMОбъект("ADODB.Connection");
БД.Provider = "LCPI.IBProvider";
ConnectionString = "uid=sysdba;pwd=masterkey;database=D:\SCD17K.FDB;CHARSET=win1251";
БД.ConnectionString = ConnectionString;
    Попытка
        БД.Open();
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (LCPI.IBProvider.3): Не определено обязательное свойство инициализации "location".
45 Вжескрыылг
 
08.01.16
10:30
чот я запутался: где IBProvider, где Firebird_ODBC..
1. IBProvider 3.27.0 - катит?
3. может ли fbd лежать "в космосе", или она должна быть на сервере перки?
3. Если я скопирую fbclient.dll куда-то и укажу путь, то все взлетит?
4. Что ставить и регить, я не админ домена, я только подключаюсь туда, и кодить предпочитаю на своем компе.
46 Garykom
 
гуру
08.01.16
11:40
(45) IBProvider и Firebird_ODBC это 2 разные технологии для одного и того же (работа с БД)

http://www.ibprovider.com/rus/
http://www.firebirdsql.org/en/odbc-driver/
47 Garykom
 
гуру
08.01.16
11:42
(46)+ если стандарт ODBC то можно http://v8.1c.ru/overview/Term_000000795.htm
48 Garykom
 
гуру
08.01.16
11:45
49 rphosts
 
08.01.16
11:47
(44) ну так в (23) для кого
Соединение.CursorLocation       = 3;
50 Вжескрыылг
 
08.01.16
12:14
(46-49) спасибо, покурю ссылки
51 Вжескрыылг
 
20.01.16
07:53
(0) после некоторого перерыва...
на сервере перки ч/з IBProvider так и не подключился, зато сразу взлетела v8_fbsql.dll (http://store.x1c.ru/public/168241/index.php?ID=168241index.php?logout=yes). Вытащил табель, во время написания запроса выяснилось, что диалект 3. По ОДБС подключил базу перки к аксессу, чтобы смотреть таблицы.
Для подключения с сервера 1С по сети вроде надо установить огнептицу, жду, пока админ поставит.
52 Вжескрыылг
 
22.01.16
11:30
На сервере 1С установил firebird и компоненты ODBC. Настроил источник ODBC (просто проверял подключение) и подключился к базе перки ч/з v8_fbsql.dll. Сетевой путь [IP сервера перки]:\[имя расшаренной папки с базой]\база.fdb. Запрос для получения табеля
SELECT
|    t.STAFF_ID,
|    s.LAST_NAME,
|    s.FIRST_NAME,
|    s.MIDDLE_NAME,
|    t.DATE_PASS,
|    t.TIME_PASS,
|    t.TYPE_PASS
|FROM
|    TABEL_INTERMEDIADATE t
|    INNER JOIN STAFF s ON (t.STAFF_ID = s.ID_STAFF)
|WHERE
|    (t.DATE_PASS BETWEEN  '14.01.2016' AND '15.01.2016')
53 Вжескрыылг
 
22.01.16
11:31
TYPE_PASS = 1 - вход, 2 - выход
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.