[ОТВЕТИТЬ]
31.05.2011 16:42
Raiser_ZX
 
Добрый день!
Облазил форум, в FAQ ничего похожего тоже не нашел.

На СуперМаг+ при печати с клиентских машин на сетевом принтере (например, расходных накладных) появляется окно для ввода имени пользователя, пароля, базы данных. Внизу три кнопки: ОК, Отмена, и Справка (при нажатии по Справке ничего не происходит). Если пытаться ввести учетные данные пользователя СуперМаг, то по кнопке OK просто очищается поле с паролем: документ не печатается, а форма продолжает висеть. Учетные данные администратора также не помогают. Такое происходит только на клиентских компьютерах. С сервера печатает нормально. Перезагрузка/переустановка СуперМаг/инструменов Oracle не помогла (на клиенте удалял все полностью и ставил по новой - тоже самое).
Куда копать для решения проблемы?

Спасибо!
31.05.2011 16:51
Magnus
 
Телепатией не обладаем.
версия СМ, Windows, модель принтера?
а печатает ли из других приложений?
31.05.2011 16:54
Dim
 
был перезагружен сервис базы. в этом случае необходимо закрыть окно фонового процесса отчетов и заново запустить отчет
31.05.2011 17:33
ReDHawK
 
Цитата:
Raiser_ZX Добрый день!
Облазил форум, в FAQ ничего похожего тоже не нашел.

На СуперМаг+ при печати с клиентских машин на сетевом принтере (например, расходных накладных) появляется окно для ввода имени пользователя, пароля, базы данных. Внизу три кнопки: ОК, Отмена, и Справка (при нажатии по Справке ничего не происходит). Если пытаться ввести учетные данные пользователя СуперМаг, то по кнопке OK просто очищается поле с паролем: документ не печатается, а форма продолжает висеть. Учетные данные администратора также не помогают. Такое происходит только на клиентских компьютерах. С сервера печатает нормально. Перезагрузка/переустановка СуперМаг/инструменов Oracle не помогла (на клиенте удалял все полностью и ставил по новой - тоже самое).
Куда копать для решения проблемы?

Спасибо!
Нужно исправить на клиентских компах файл tnsnames.ora в репортсе, а еще лучше во всех ораклах, для примера:
DEMO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = demo)
(SERVER = DEDICATED)
)
)

Если стоит несколько ораклов, не забудьте проверить системный path в переменных средах и закомментировать все строки в sqlnet.ora
31.05.2011 20:18
bob
 
Цитата:
Dim был перезагружен сервис базы. в этом случае необходимо закрыть окно фонового процесса отчетов и заново запустить отчет
Тоже считаю, что проблема в этом. При отвале сети подобное происходит при незакрытом фоновом процессе вывода отчетов.
01.06.2011 08:34
Raiser_ZX
 
Цитата:
Magnus Телепатией не обладаем.
версия СМ, Windows, модель принтера?
а печатает ли из других приложений?
SM2000
Windows XP SP3
Принтер Canon ... что-то там.. ИМХО это не суть, потому что на других моделях принтера тоже самое, а любые другие документы по сети печатает без проблем.

Цитата:
Dim был перезагружен сервис базы. в этом случае необходимо закрыть окно фонового процесса отчетов и заново запустить отчет
Ситуация такая:
Когда запускаешь печать появляется сначала окно фонового процесса, затем форма с требованием ввода имени, пароля, базы. При попытке закрыть окно фонового процесса выдается сообщение, что печать отчетов будет остановлена (дословно не помню - сейчас не на работе). Когда соглашаешься по OK - ничего не происходит, сообщение это закрывается, а окно фонового процесса и форма с полями так и остаются висеть (еще раз пытаешься закрыть - тоже самое). При выборе Cancel на форме сама форма закрывается, окно фонового процесса остается.

По поводу tnsnames.ora - тоже подсказывали, что может быть в этом проблема. Я делал так (возможно, это неправильно):

На сервере (где все Ok) взял файл C:/oracle/client/network/admin/tnsnames.ora (что-то похожее - путь пишу по памяти) и заменил этим файлом в по этому же пути на клиенте. Не помогло. Как сделать правильно?
01.06.2011 08:41
Mtirt
 
А какой Canon, всё же?
01.06.2011 09:00
konst
 
tnsnames.ora - лежит в двух местах в клиенте Oracle и в репортсах
меняли в обоих местах?
01.06.2011 11:54
ReDHawK
 
С твоем случае важен именно tnsnames.ora репортса, обычно лежит примерно по такому пути диск:\orant\net80\admin именно через него печатаются отчеты.
01.06.2011 18:56
Vlad
 
Мне помогало: в СМ2000 в Меню "Файл" - "Аварийно прервать отчет". Правда версия у меня древняя (1.023.3).
01.06.2011 19:27
ReDHawK
 
Цитата:
Vlad Мне помогало: в СМ2000 в Меню "Файл" - "Аварийно прервать отчет". Правда версия у меня древняя (1.023.3).
Это в случае зависания отчета репортса, т.е. процесса RWISV60.EXE или RWRBE60.EXE Супермаг их из процессов убивает

Выскакивание таблички - Пользователь, пароль, БД - это из-за tnsnames.ora репортса.
02.06.2011 07:14
Raiser_ZX
 
Цитата:
Mtirt А какой Canon, всё же?
Canon LBP2900B
Цитата:
konst tnsnames.ora - лежит в двух местах в клиенте Oracle и в репортсах
меняли в обоих местах?
Правильно ли я понимаю: нужно взять рабочий tnsnames.ora с сервера и заменить им на клиентском компьютере этот же файл - в клиенте Oracle и в репортсах? В данный момент потому что заменен только тот, что на клиенте Oracle.
Я попробую сегодня, только подскажите правильные пути для замены на клиентском компьютере - где tnsnames.ora нужно все-таки заменить.
02.06.2011 08:00
Dim
 
задай поиск на клиентской машине и все tnsnames.ora замени на правильный
02.06.2011 08:13
OlegON
 
Предлагаю следующий testcase:
берем с сервера tnsnames.ora, убеждаемся, что в нем прописан не IP и не localhost, а имя сервера, по которому он пингуется с клиентской машины. На сервере находим home именно сервера, т.е. Oracle 10g. Никаких client не должно быть в пути. Кладем этот tnsnames.ora вместо всех обнаруженных на клиенте, пробиваем системную переменную nls_lang=american_america.cl8mswin1251, ребутим клиента, сразу заходим в Супермаг, печатаем отчет, если картина не меняется, приводим сюда вывод команд:
Цитата:
tnsping имя_базы
tnsping80 имя_базы
02.06.2011 08:57
Raiser_ZX
 
2 OlegON: Попробую сегодня. О результате отпишусь.
02.06.2011 09:20
OlegON
 
Предлагаю до кучи и другой принтер попробовать. В смысле - не Canon.
02.06.2011 09:48
ReDHawK
 
Я конечно не спец в принтерах, но при чем тут принтер, если мы не можем даже "Предварительную печать" вывести, выведется предварительная печать, потом и до принтера доберемся. Выскакивание "таблички" я еще в БИНе лечил, подкладыванием правильного описанного tnsnames.ora. Просто репортс не может до БД правильно достучаться.
02.06.2011 09:58
John Doe
 
Цитата:
ReDHawK Я конечно не спец в принтерах
как ты думаешь, винда предпросмотр дровами принтера рисует или святым духом? :)
02.06.2011 11:20
ReDHawK
 
Цитата:
John Doe как ты думаешь, винда предпросмотр дровами принтера рисует или святым духом? :)
ну тут рисует не винда, а репортс, и можешь без принтера на предпросмотр вывести, например, если у тя установлен Microsoft Office Document Image Writer или FinePrint или еще что-то подобное. Это же не принтер.
02.06.2011 23:57
OlegON
 
Цитата:
ReDHawK Microsoft Office Document Image Writer или FinePrint или еще что-то подобное. Это же не принтер.
А что это? ;) Виртуальный принтер и есть, со своими дровами.
03.06.2011 09:42
ReDHawK
 
я понимаю, что виртуальный со своими дровами, просто для предпросмотра в супермаге не важно какой принтер, главное что бы был какой-нить настроен, иначе супермаг просто скажет, что нет принтера - нет предпросмотра, а не будет выводить сообщение о настройках подключения к БД.
03.06.2011 09:47
OlegON
 
Вот и поставьте по умолчанию какие-нибудь дрова для предпросмотра из штатных. HP 5L, например.
06.06.2011 17:42
Raiser_ZX
 
Цитата:
Raiser_ZX 2 OlegON: Попробую сегодня. О результате отпишусь.
Прошу прощения за задержку с ответом.

Ситуация такая:
Содержимое файла tnsnames.ora
(на сервере правда прописано HOST = localhost, правильно ли то, что smserver я прописал вручную?

# tnsnames.ora Network Configuration File: D:\oracle\ora102\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

OKTORG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = smserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oktorg)
)
)


Этот файл я взял с сервера и скопировал на клиентскую машину (заменил) все tnsnames.ora где только нашел. После перезагрузки клиента зашел в Супермаг, попытался распечатать - таже ерунда.

Сервер smserver пингуется.
Вывод команд:

C:\Documents and Settings\SomeBody>set nls_lang=american_america.cl8mswin1251

C:\Documents and Settings\SomeBody>tnsping OKTORG

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 06-JUN-2
011 16:15:45

Copyright (c) 1997, 2005, Oracle. All rights reserved.

Used parameter files:
C:\oracle\ora102\network\admin\sqlnet.ora

TNS-03505: Failed to resolve name

C:\Documents and Settings\SomeBody>tnsping80 OKTORG

TNS Ping Utility for 32-bit Windows: Version 8.0.6.0.0 - Production on 06-JUN-11
16:16:11

(c) Copyright 1997 Oracle Corporation. All rights reserved.

Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=smserver)(PORT=1521))
TNS-12541: TNS:no listener

Запуск этих же команд на сервере выдает Ok.

По поводу принтера: устанавливал на клиенте виртуальный принтер doPDF - результат то же - окно с требованием ввести пароль.
06.06.2011 18:04
konst
 
Это значит что сервер БД не доступен с клиентской машины...
вот что должно получаться (на версию oracle внимание не обращаем)


C:\Documents and Settings\konst>tnsping dbmag

TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 06-JUN-20
11 17:53:51

Copyright (c) 1997 Oracle Corporation. All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (description = (address= (protocol = tcp) (host = 172.16.10.225) (port = 1521)) (CONNECT_DATA = (SERVICE_NAME = dbmag)))
OK (20 msec)

C:\Documents and Settings\konst>tnsping80 dbmag
TNS Ping Utility for 32-bit Windows: Version 8.0.6.0.0 - Production on 06-JUN-11
17:54:08

(c) Copyright 1997 Oracle Corporation. All rights reserved.

Attempting to contact (address=(protocol=tcp)(host=172.16.10.225)(port=1521))
OK (140 msec)

Проверьте - возможно файервол блокирует указанные порты??!
Еще раз проверьте содержание файлов tnsnames.ora
у меня они лежат в 2-х местах
oracle client - c:\Oracle\ora92\network\ADMIN\tnsnames.ora
oracle reports - c:\Oracle\orant\NET80\ADMIN\tnsnames.ora

Вот образец моего TNSNAMES.ORA, который лежит в обоих местах

# TNSNAMES.ORA Network Configuration File: C:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

dbmag=
(description = (address=
(protocol = tcp)
(host = 172.16.10.225)
(port = 1521))
(CONNECT_DATA = (SERVICE_NAME = dbmag)))
07.06.2011 07:48
Mtirt
 
Я бы еще, на всякий случай, заменила бы имя сервера в tnsnames.ora ip-адресом.
OKTORG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.Х.Х)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oktorg)
)
)
07.06.2011 08:15
Raiser_ZX
 
2 konst: Перепроверил у себя, вроде все в порядке. Но я понимаю так, что если бы сервер БД был недоступен, то соответственно и в Супермаг нельзя было бы зайти.

2 Mtirt: Ok. Попробую.
07.06.2011 08:31
konst
 
Чтобы работал СМ+ достаточно правильно настроенного
oracle client - c:\Oracle\ora92\network\ADMIN\tnsnames.ora (как пример)
а для отчетов необходим работающий Oracle Reports

и в любом случае при tnsping и tnsping80 - результатом должно быть:
OK (xx мск)
07.06.2011 11:41
deucel
 
Цитата:
konst Чтобы работал СМ+ достаточно правильно настроенного oracle client
Не совсем так, еще нужно чтоб лишнего не было в sqlnet.ora (типа домена и т.п.)

Цитата:
Raiser_ZX Used parameter files:
C:\oracle\ora102\network\admin\sqlnet.ora

TNS-03505: Failed to resolve name
удали файл совсем или оставь только (если нужно)
Код:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
07.06.2011 13:39
Raiser_ZX
 
2 Mtirt: К сожаление смена на имени на ip ничего не дала.
Цитата:
deucel удали файл совсем или оставь только (если нужно)
Код:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
В файле C:\oracle\ora102\NETWORK\ADMIN\sqlnet.ora была именно одна эта строчка. Удаление этого файла тоже ничего не дало.

:) Если бы у меня была похожая ситуация с Firebird, я бы стал грешить на сервер. Возможно такое, что какая-либо служба не запущена на сервере? На клиентах вроде все идеально.
07.06.2011 17:23
deucel
 
Цитата:
Raiser_ZX В файле C:\oracle\ora102\NETWORK\ADMIN\sqlnet.ora была именно одна эта строчка. Удаление этого файла тоже ничего не дало.
Проверь такой же файл на сервере.
Какие файлы на сервере есть в каталоге .\network\ADMIN ?
Что в файле listener.ora? (там должно быть типа (HOST = srv-smag), а не IP. Cколько сетевых на сервере?)
На сервере в командной строке (cmd.exe) выполни netstat -an
посмотри наличие TCP 0.0.0.0:1521 0.0.0.0:0 LISTENING
Отключи фаервол (если он есть).


Опции темы


Часовой пояс GMT +3, время: 07:00.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.