![]() |
![]() |
![]() |
|
соединение 82 и Оракл | ☑ | ||
---|---|---|---|---|
0
Evgenchik
16.03.11
✎
10:16
|
Работали на 81. Есть вполне успешно работающая обработка, которая соединяется с базой оракла, забирает оттуда данные и загружает в 1С.
Платформа 1С:Предприятие 8.1 (8.1.15.14) Вот такой код успешно работает СтрокаСвязи = "Driver={Microsoft ODBC for Oracle};Data Source="+ИмяБазы+";User ID="+ИмяПользователя+";Password="+Пароль+";"; ТЗ = Новый ТаблицаЗначений; ДБ = Новый COMОбъект( "ADODB.Connection" ); rst = Новый COMОбъект( "ADODB.Recordset" ); Попытка ДБ.Provider = "MSDAORA.1"; ДБ.ConnectionString = СтрокаПодключения; ДБ.CursorLocation = 3; ДБ.ConnectionTimeOut = 600; ДБ.Open(); rst.Open( ТекстЗапроса, ДБ, 1, 1 ); Теперь надо как то переходить на 82. У вот тут затык. Не срабатывает такое соединение на платформе 1С:Предприятие 8.2 (8.2.13.205) ошибка такая Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for Oracle): ђё - тут козяблики каждый раз разные Что может быть? подскажите варианты? |
|||
1
ДенисЧ
16.03.11
✎
10:23
|
TNS похоже не настроены...
|
|||
2
detec
16.03.11
✎
10:23
|
(0)
Конфа, разрядность сервера, архитектура базы (файловая, клиент-серверная)? |
|||
3
Evgenchik
16.03.11
✎
10:28
|
у себя на компе пока тестирую, файловая база, винда XP,
конфа бухгалтерия - но это не важно. мне надо будет использовать эту обработку в разных конфигурациях. |
|||
4
detec
16.03.11
✎
10:32
|
Похоже, что не настроен или неверно настроен клиент Оракла. Почему не пользуетесь родным оракловым клиентом?
|
|||
5
Evgenchik
16.03.11
✎
10:34
|
клиент Оракла грят, что у нас 8й. надо поставит 10 и попробовать.
(4) как им пользоваться? там другая стрка подключения чтоли? |
|||
6
ДенисЧ
16.03.11
✎
10:35
|
(5) ну да, другая...
У меня через клиента так идёт _ОраклБД = Новый COMОбъект("ADODB.Connection"); _ОраклБД.Open("Provider=MSDASQL.1;Data Source=Oracle7;UID=scaner;Password=scaner;"); |
|||
7
Evgenchik
16.03.11
✎
10:42
|
а, ну этот вариант я тоже пробовал. ошибка та же
видимо все таки клиента помучать надо |
|||
8
ДенисЧ
16.03.11
✎
10:43
|
(7) для начала клиента настрой, сделай odbc-соедниение, его настрой и проверь...
|
|||
9
Evgenchik
16.03.11
✎
16:03
|
снес все старые клиенты. поставил 10го. теперь уже не работает и на 81 :(
odbc- соединение не получается сделать, в TNS Service Name выпадают какие то левые имена (MZђ, rsrc), а должно я так понимаю подхватываться из файлика tnsnames.ora |
|||
10
ДенисЧ
16.03.11
✎
16:04
|
(9) переменные окружения прописал?
|
|||
11
Evgenchik
16.03.11
✎
16:07
|
нет, это где и как ?
|
|||
12
ДенисЧ
16.03.11
✎
16:09
|
как минимум TNS_Admin с путём до папки с tnsnames.ora
И каталог клиента в PATH вставить... А как - мой компьютер - свойства - дополнительно - переменные окружения... |
|||
13
Evgenchik
16.03.11
✎
16:17
|
(12)как минимум TNS_Admin с путём до папки с tnsnames.ora
TNS_Admin - это где такое? пути прописаны, может в реестре где еще подпраивить надо? |
|||
14
ДенисЧ
16.03.11
✎
16:19
|
(13) TNA_Admin - это имя переменной окружения...
ЗЫ. Вот и выросло поколение, не знающее о переменных... |
|||
15
Evgenchik
16.03.11
✎
16:21
|
да знаю я про переменные.. просто 1С мозг разъело :)
|
|||
16
Evgenchik
16.03.11
✎
16:23
|
ладно, завтра еще попытаю
|
|||
17
Evgenchik
17.03.11
✎
14:13
|
подниму ветку... значит так.
вроде настроили 10го клиента. через odbc соединяется нормально, через 81 соединяется нормально. Через 82 упорно не хочет. вот ошибка {Форма.Форма.Форма(30)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for Oracle): ORA-12154: TNS:could not resolve the connect identifier specified я так понимаю, что система не принимает имя TNS. Откуда соединение берет имя? может в реестре где посмотреть? |
|||
18
ДенисЧ
17.03.11
✎
14:22
|
соединение берёт имя из строки соединения. Потом лезет за ним в tnsnames.ora
|
|||
19
Evgenchik
17.03.11
✎
15:06
|
пробую так:
Кодировка = "windows-1251"; Источник = "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.241)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = VLIGTEST)))"; СтрокаСвязи = "Provider=MSDAORA.1;Data Source="+Источник+";User ID=user;Password=pasw;CharSet=" + Кодировка + ";"; Ошибка: (Microsoft OLE DB Provider for Oracle): ORA-12737: Instant Client Light: unsupported server character set %s |
|||
20
detec
17.03.11
✎
15:10
|
Я бы сходил на сайт типа connectionstrings, там наверняка можно будет подобрать рабочий вариант строки соединения с каким-нибудь из клиентов.
|
|||
21
Evgenchik
17.03.11
✎
15:13
|
я бы хотел узнать где 1с82 ищет файлик tnsnames.ora
причем 1с81 этот файлик находит |
|||
22
ДенисЧ
17.03.11
✎
15:14
|
(21) там же ищет. В переменных окружения.
Под кем запущена 81 и 82? Разрядность? |
|||
23
ДенисЧ
17.03.11
✎
15:14
|
более того, сама 82 ничего не ищет
|
|||
24
Evgenchik
17.03.11
✎
15:18
|
запущена под пользователем с правами админа, разрядность 32х
(23) сама не ищет... а кто ищет? почему на 81 срабатывает? |
|||
25
Evgenchik
17.03.11
✎
16:19
|
нашел вот что
http://www.connectionstrings.com/oracle#p12 Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword; по прежнему ругается на кодировку ORA-12737: Instant Client Light: unsupported server character set %s |
|||
26
ДенисЧ
17.03.11
✎
16:27
|
попробуй в hklm\software\oracle прописать переменную NLS_LANG, строковую, со значением AMERICAN_AMERICA.CL8MSWIN1251
|
|||
27
Evgenchik
17.03.11
✎
16:44
|
(26) не помогло.
подскажи, у тебя кроме _ОраклБД = Новый COMОбъект("ADODB.Connection"); _ОраклБД.Open("Provider=MSDASQL.1;Data Source=Oracle7;UID=scaner;Password=scaner;"); есть еще другие параметры для соединения? |
|||
28
ДенисЧ
17.03.11
✎
16:50
|
(27) в 1с - нет. ТОлько в настройках клиента
|
|||
29
Evgenchik
17.03.11
✎
16:57
|
я так понял, что у тебя odbc создано, а в 1С ты уже к нему цепляешься?
я так сделал... ошибка тля ее раздери Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Oracle][ODBC][Ora]ORA-12154: TNS:could not resolve the connect identifier specified |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |