jdbc:oce:dcom connection to SQL-based 1C database server.

classic Classic list List threaded Threaded
4 messages Options
Alakbar Alakbar
Reply | Threaded
Open this post in threaded view
|

jdbc:oce:dcom connection to SQL-based 1C database server.

Здравствуйте!
У меня вопрос может быть дилетантский(я начинающий программист в 1С). Как можно соединиться с помощью Вашего jdbc:oce:dcom к серверной базе данных 1С ? Нужно ли что-то писать в oce:1c:dbpath если серверная база данных например на MSSQL сервере ? Как должна выглядеть строка соединения например из Eclipse к серверной базе данных 1С ? Как будет выглядеть эта строка ?

jdbc:oce:dcom://192.168.1.70:user@password;oce:1c:dbpath=???;oce.driver=V82Driver;autoRegistration=true

Интересует именно переменная oce:1c:dbpath

Заранее спасибо за ответ.
IgorKonovalov IgorKonovalov
Reply | Threaded
Open this post in threaded view
|

Re: jdbc:oce:dcom connection to SQL-based 1C database server.

Добрый день.
Сейчас так точно не скажу, давненько было. oce.1c.dbpath для серверной базы не нужен, вместо этого так oce.1c.ref и oce.1c.srvr.
Нужно смотреть в код:
1) Это как работает драйвер JDBC. Как он парсит параметры.
https://bitbucket.org/IgorKonovalov/octitbit/src/54240b5ee561ef53e478dae9be40423182fd5bbc/src/main/java/com/ipc/oce/jdbc/OCEDriver.java?at=default&fileviewer=file-view-default#OCEDriver.java-84

2) Это код подключения к самому 1C и список параметров необходимых для подключения к серверной 1C.
https://bitbucket.org/IgorKonovalov/octitbit/src/54240b5ee561ef53e478dae9be40423182fd5bbc/src/main/java/com/ipc/oce/OCApp.java?at=default&fileviewer=file-view-default#OCApp.java-1251



Понедельник, 26 октября 2015, 1:52 -07:00 от "Alakbar [via OCTitbit]" <[hidden email]>:

Здравствуйте!
У меня вопрос может быть дилетантский(я начинающий программист в 1С). Как можно соединиться с помощью Вашего jdbc:oce:dcom к серверной базе данных 1С ? Нужно ли что-то писать в oce:1c:dbpath если серверная база данных например на MSSQL сервере ? Как должна выглядеть строка соединения например из Eclipse к серверной базе данных 1С ? Как будет выглядеть эта строка ?

jdbc:oce:dcom://192.168.1.70:user@password;oce:1c:dbpath=???;oce.driver=V82Driver;autoRegistration=true

Интересует именно переменная oce:1c:dbpath

Заранее спасибо за ответ.


If you reply to this email, your message will be added to the discussion below:
http://octitbit.2284210.n4.nabble.com/jdbc-oce-dcom-connection-to-SQL-based-1C-database-server-tp4640512.html
To start a new topic under Core, email ml-node+s2284210n3347870h5@...
To unsubscribe from OCTitbit, click here.
NAML

OCTitbit developer.
Alakbar Alakbar
Reply | Threaded
Open this post in threaded view
|

Re: jdbc:oce:dcom connection to SQL-based 1C database server.

In reply to this post by Alakbar
Добрый день !
Странное что-то на этом форуме, Reply на Ваш вчерашний ответ не находит Ваш ответ, поэтому пишу сюда. Большое спасибо, авторизацию на серверной базе данных 1С (на MSSQL) пройти удалось. Если кому-то это будет полезно, то строка соединения должна была выглядеть так:
jdbc:oce:dcom://192.168.1.70:Administrator@password;oce.1c.srvr=192.168.1.70;oce.1c.ref=test1c;oce.driver=V82Driver;autoRegistration=true

где Administrator и password это соответственно логин и пароль локального пользователя той машины, test1c - имя базы данных Хотел бы на этом закончить, но (( далее авторизации дело пока не сдвинулось. Сервер ругается:
java.sql.SQLException: Connection failed. Parameters {...}. org.jinterop.dcom.common.JIException: Class not registered. If you are using a DLL/OCX , please make sure it has "DllSurrogate" flag set. Faq A(6) in readme.html. [0x80040154]

Далее идем в Faq A(6) от j-interop (http://www.j-interop.org/faq.html).

"Easiest Way" - безуспешен, 'autoRegistration=true' в строке соединения не помогает.

"Easy Way" - запускаю скачанное "oleview.exe", но указанный в faq внутри 'All Objects' компонент 'OLEComponent.Object' ни у меня и ни у кого не виден. Соответственно  

"Hard Way" - непонятно для каких компонентов на сервере нужно будет создать и перечислить CLSID-ы ? Для 1С серверный процессов, для j-interop и jdbc ? Какие компоненты сделать с флагом "DllSurrogate" ?

Есть ли другой способ сделать COM компоненты доступными ?

P.S. Чтобы исключить влияние файрволов, антивирусов, ограничений в правах - пытался соединиться с самого сервера по 'localhost' - результат тот же... Вся надежда на Вас...
Alakbar Alakbar
Reply | Threaded
Open this post in threaded view
|

Re: jdbc:oce:dcom connection to SQL-based 1C database server.

In reply to this post by Alakbar
Просмотрел почти весь форум. Получается что "DllSurrogate" нужно открывать для COM компонента "1CV83 COM Connector Class". Пока попытки редактирования реестра безрезультатны. Вроде добавил "DllSurrogate" с пустым значением везде... Результат тотже:

" org.jinterop.dcom.common.JIException: Class not registered. If you are using a DLL/OCX , please make sure it has "DllSurrogate" flag set. Faq A(6) in readme.html. [0x80040154]"

Может быть кроме реестра нужно зарегистрировать с помощью "regsvr32.exe" этот самый компонент "1CV83 COM Connector Class" несмотря на то что он проинсталлирован и виден в реестре ?