Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Oracle server, client [D6]


Страницы:   1 2

001 ©   (2006-03-29 18:19:00) 

Я дома пишу программу, исп. ODAC и Oracle8i.
Программу пишу и тестирую на своей машине где стоит сервер.

Принес программу в институт - ошибка на японском.
Подскажите какие могут быть причины.

Необходимо ли для работы с клиента доступ админа? Имя сервера при подключении я не указываю.

Может сталкивались..


001   (2006-04-04 09:08:00) [1]

ДА, это работает! Спасибо!..


Sergey13   (2006-04-03 15:04:00) [2]

2[19] 001   (03.04.06 14:54)
Примерно такое в конец файла добей

MY_SERV =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.65.1)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SID = MY_SID)
   )
 )


MY_SID - имя базы (инстанса), к которой коннектишься (узнать у админа).
MY_SERV - это имя сервиса связи, которое надо указывать при подключении (любое задавай)


001   (2006-04-03 14:54:00) [3]

Ну я не знаю как настроить!..
SAMPLE\TNSNAMES.ORA не помогает мне понять.. (
Поэтому я пошел от противного.
Вот, скачал сегодня TNSNAMES.ORA с компа, куда надо мне будет коннектиться:


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

INST1_HTTP =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = wks01)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SERVER = SHARED)
     (SERVICE_NAME = edu)
     (PRESENTATION = http://admin)
   )
 )

EDU =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = wks01)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = edu)
   )
 )

EXTPROC_CONNECTION_DATA =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
   )
   (CONNECT_DATA =
     (SID = PLSExtProc)
     (PRESENTATION = RO)
   )
 )


ПРОШУ ПОМОЧЬ ПРОГРАММНО ПОДКЛЮЧИТЬСЯ...
КАК В ПРИМЕРЕ в 001   (03.04.06 04:54) [17].


Sergey13   (2006-04-03 09:09:00) [4]

2[16] 001   (03.04.06 01:59)
>Говорит о том что Listener не настроен..
Ну дык настрой. Это как раз tnsnames.ora делает.


001   (2006-04-03 04:54:00) [5]

Поставил виртуальную машину.
Установил сеть.

Мой компутер: 192.168.65.1
Виртуальный : 192.168.65.128

НА МОЕМ КОМПУТЕРЕ СЕРВЕР ORACLE.
НА виртуальном нет ничего (только прога).

В сетях я только начал копаться. Но сеть пашет. Расшари папки, проверил, все ок.
Не знаю почему, но это нормально что мой компутер не пингует сам себя?

Прочитал раздел справки Воркинг виз ODAC Net

ODAC Standard as the most of applications which work with Oracle uses Oracle Call Interface to connect to Oracle database server. This is usual way to develop Oracle application with a third-generation language. As all OCI routines are in external libraries compiled application has small size. But it requires Oracle client software installed on workstation that is the cause of additional expenses for its installation and administration. Sometimes installation of Oracle client can be not advisable or even impossible. For example, if you need to set your application on remote machine where you don't have respective specialist.

ODAC Net allows your application to work with Oracle directly through TCP/IP protocol and doesn't require Oracle client software. To run your application built with ODAC Net it is only needed to have operation system and TCP/IP protocol support.
To connect to Oracle server with ODAC Net you need know the address of computer where Oracle server is, listening port number and database instance name.
Before using Net option in your application you need only set Options.Net to True of your TOraSession object and also specify database by its Server property. If to connect through OCI with ODAC Standard you had to set Server property by appropriate TNS alias but now with ODAC Net you need assign string, that specify database, in such format Host:Port:SID.

Where Host is the address of server, Port is the number of port that server listens and SID is system identifier that specifies instance name.

There is the example that illustrates connecting without OCI:

var
 Session: TOraSession;
. . .
Session.Options.Net := True;
Session.Username := 'Scott';
Session.Password := 'tiger';
Session.Server := '205.227.44.44:1521:orcl';
Session.Connect;

Notice it is all that needed to support Net option in your application. You don't have to rewrite other parts of your application. Besides that you can return to use OCI to connect to Oracle at any time. For that just set TOraSession.Options.Net to False.


Пробую

Session.Options.Net := True;
Session.Username := 'system';
Session.Password := 'manager';
Session.Server := '192.168.65.1:1521:MAINBASE'; // или так '192.168.65.1::MAINBASE'
Session.Connect;

Не хочет.
Ошибка: NET: Connection timed out.

В чем проблема?

И еще, в вышеприведенной справке написано что установленный клиент не нужен. Но прога порой начинает материться что не может найти OCI.dll, с чем это связано?


001   (2006-04-03 01:59:00) [6]

>>Sergey13 ©   (31.03.06 13:42) [12]
>>Типа отрыгивает и ничего не говорит?

Говорит о том что Listener не настроен..


001   (2006-04-03 01:38:00) [7]

Ясно.. (
Спасибо!

Нашел у TOraSession в параметрах галочку Net.

Подскажите как подключиться к серваку на другом компе.
Думаю, так (дома проверить нет возможности)

.Server:='192.168.65.1::MAINBASE'

где MAINBASE - имя глобальной базы данных

???

а если на локальном, то такое пройдет?

.Server:='127.0.0.1::MAINBASE'

я сейчас без Oracle пока..

А на клиенте (где прога) обязательно болжен стоять Client Oracle?


ANB   (2006-03-31 15:03:00) [8]


> Но нет возможности. Нужно чтобы прога настроилась сама.
> Без жесткой привязки к именам сервера и т.п.
>
> Принес - должна работать.

Без жесткой - только спросить у пользователя.


Курдль   (2006-03-31 14:29:00) [9]


> 001   (31.03.06 13:30) [10]
> Но нет возможности. Нужно чтобы прога настроилась сама.
> Без жесткой привязки к именам сервера и т.п.


Но хоть с мягкой привязкой - можно? Надеюсь, в программе есть форма типа "Логин" в которой пользователю предлагается ввести свое имя, пароль и имя сервера. Наверняка они в программе почти без изменений попадают в соответственные поля объекта, отвечающего за открытие сессии.

На следующем Вашем посте я "потерял нить Ваших рассуждений"... :(


Sergey13   (2006-03-31 13:42:00) [10]

2[10] 001   (31.03.06 13:30)
>Нужно чтобы прога настроилась сама.
Ты сначала ручками научись.

2[11] 001   (31.03.06 13:36)
>DBA студио перестал воспринимать системный логин/пароль.
Типа отрыгивает и ничего не говорит?


001   (2006-03-31 13:36:00) [11]

И еще.
Препод (это мне рассказывали) проставил значки "-" в этом файле во время сдачи проекта. Я так понимаю, закоментировал что надо..

И сказал, продемонстрируйте подключение к Oracle.

p.s.
DBA студио перестал воспринимать системный логин/пароль.
Но не знаю, это может он не в проге просил..
Были намеки на SQLPlus Worksheet.. Нет идей? хотя это наверное уже больше не к программированию.. но тем не менее..


001   (2006-03-31 13:30:00) [12]

>> В общем, мне бы было достаточно глянуть на свойства TOracleConnection
>> и попробовать открыть сессию прямо в дизайн-тайме.
>> Там же всего 3 поля задать надо - имя сервера, логин и пароль (если я не ошибаюсь).

Мне тоже :)

Но нет возможности. Нужно чтобы прога настроилась сама. Без жесткой привязки к именам сервера и т.п.

Принес - должна работать.


Курдль   (2006-03-31 12:16:00) [13]

Кстати, ораклом для конфигурирования используется файл \oracle\ora81\network\ADMIN\tnsnames.ora


Курдль   (2006-03-31 11:55:00) [14]


> 001   (31.03.06 11:27) [4]
> SqlPlus нормально цепляется.


Если SqlPlus, PL/SQL Developer и пр. нормально цепляются, значит дело не в настройках клиента.

Я не работал с ODAC, а только с DOA. Но думаю, что  они похожи.
В общем, мне бы было достаточно глянуть на свойства TOracleConnection и попробовать открыть сессию прямо в дизайн-тайме. Там же всего 3 поля задать надо - имя сервера, логин и пароль (если я не ошибаюсь).


Sergey13   (2006-03-31 11:41:00) [15]

Кстати в ОДАК-е можно работать вообще без установленного ораклового клиента. Как - не скажу - сам не работал с ним.


Sergey13   (2006-03-31 11:40:00) [16]

2[4] 001   (31.03.06 11:27)
>нашел этот файл тут
работает скорее всего
\oracle\ora81\network\ADMIN\tnsnames.ora

>можешь проконсультировать какой вес имеет этот файл
В смысле "вес"?

>и что я в нем должен проверить..
Там надо прописать имя сервиса по которому ты будешь соединяться с Ораклом. Пример заполнения есть в \oracle\ora81\network\ADMIN\SAMPLE\TNSNAMES.ORA
Можно записывать ручками (это просто текстовый файл), можно оракловыми утилитами типа Net8 [Configuration] Assistant.


001   (2006-03-31 11:28:00) [17]

# This is a sample tnsnames.ora that contains the NET8 parameters that are
# needed to connect to an ODBC Agent

хотя для чего они мне понятно..


001   (2006-03-31 11:27:00) [18]

SqlPlus нормально цепляется.

нашел этот файл тут

\oracle\ora81\hs\admin\tnsnames.ora
\oracle\ora81\network\ADMIN\SAMPLE\TNSNAMES.ORA
\oracle\ora81\network\ADMIN\tnsnames.ora

можешь проконсультировать какой вес имеет этот файл и какой из них для чего используется.
и что я в нем должен проверить..
ну или ссылку на источник..


Курдль   (2006-03-30 11:49:00) [19]


> ошибка на японском.


Для начала исполнить set nls_lang=american_america.cl8mswin1251

А как ораклевые приблуды типа SqlPlus "в институте" цепляются к серверу? Нормально?

tnsnames.ora проверяли?


001   (2006-03-29 19:38:00) [20]


> а у ошибок еще цифровые коды существуют, арабскими цифрами,
>  не японскими

Ну да, да.. я знаю.. не помню просто. А в следующий раз уже надо чтобы проблем не возникало. Вот и телепатия.

Сервер не указывал, когда сидел на сервере. Так что, думаю здесь что-то иное.. :(


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо