Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Подключение к Oracle из Delphi


Автор: Governor 30.11.2006, 17:24
Друзья, помогите чайнику, плиз!  smile 

Есть программа на Delphi 5 использующая Paradox 7
Есть компоненты ODAC 4.0
Есть база на Oracle с расширением bak (видимо резервная копия, я в Оракле полный ноль, даже не знаю, какое у оракловых баз должно быть расширение)
Есть дистрибутив MS SQL Server 2000 (зачем мне его дали, я не совсем понимаю)

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

Можно ли подробненько по пунктам рассказать, что нужно делать? 
Только, плиз, не пишите RTFM, а укажите какой именно FM и где его найти.
У кого есть готовый пример буду очень благодарен. В т.ч. материально  smile 

Автор: Rodman 30.11.2006, 17:50
Governor, так тебе необходимо программу написать для работы со всем этим делом???\

Или ответить для чего это все надо???

Автор: Governor 1.12.2006, 11:29
Rodman, да, нужно написать конвертер.

Автор: Rodman 1.12.2006, 14:24
Если у тя есть наброски то пиши http://forum.vingrad.ru/delphi-db-database-reporting.html

иначе - http://forum.vingrad.ru/Vingrad-help-center.html

потому что на расстоянии понять трудно...

Автор: Vas 1.12.2006, 14:41
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1017
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=754
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=676

Автор: Governor 5.12.2006, 11:51
Большое спасибо всем, кто откликнулся на мою просьбу. На сегодняшний момент ситация такая:
SQL сервер я развернул, зарегистрировал в ODBC. Enterprise Manager'ом восстановил данные из backup-копии (тот самый файл с раширением bak). 

Далее, создаю новый проект в дельфи, выкладываю компоненту OraSession (из ODAC 4.0), указываю в качестве SQL сервера имя своего компьютера. Выкладываю компоненту OraTable, нажимаю в инспекторе объектов поле TableName. Возникает диалог: 

UserName
Password
Server

Ввожу в строке server имя компьютера, UserNmae и Password я не задавал при создании записи в ODBC поэтому оставляю эти поля пустыми. Жму Connect. Выдается сообщение "Cannot find OCI DLL"

Может я что-то не так делаю? smile  

Автор: LSD 5.12.2006, 12:27
Установи Oracle client.

Автор: Governor 6.12.2006, 12:25
LSD, говорят не нужно  smile . В Excell, например, все прекрасно импортируется.

Автор: LSD 7.12.2006, 11:56
1. Кто говорит?
2. Причем тут Excel?

Автор: Governor 7.12.2006, 14:33
LSD, да начальство мое, выдавшее это задание, и на Excell ссылается...

Хотя даже в хелпе к ODAC сказано, что необходимо установить Oracle

Впрочем, я решил подключиться к таблицам через BDE и все получилось. smile 
Правда есть одна неясность... Вот код моего запроса:

Код

select 
c.qty_ordered, c.due_date, c.item, 
i.description, i.uf_FullName, i.uf_TypGofr, i.item, 
i.uf_LengthBox, i.uf_WidthBox, i.uf_SortGofr, i.uf_B,
i.uf_H, i.uf_L,  i.uf_TopLayer 
from coitem as c, item as i 
where (c.item=i.item) and (c.stat='P')


Казалось бы должна появиться таблица с 14 полями. Запрос отрабатывается нормально, но в итоге появляется таблица с ... 4-мя полями: qty_ordered, due_date, i.uf_LengthBox, i.uf_WidthBox

Интересно, что если вместо перечисления нужных мне полей поставить *, то полей становится больше, но все равно не все. Причем нет как-раз нужных...

Важная деталь: все "исчезнувшие" поля имеют тип nvarchar

В чем могут быть грабли?

На всякий случай выкладываю конфигурацию BDE

user posted image

Автор: Governor 7.12.2006, 18:15
Еще маленькая деталь: в 7-й версии Delphi при попытке соединиться с базой через ODAC тоже выдается ошибка, но другая: ORA-12541: TNS: no listener

Автор: LSD 7.12.2006, 18:47
1. Excel почти наверняка соединяется с Oracle через ODBC, а это значит что клиент Oracle должен быть установлен.

2. ODAC есть просто, и ODAC Net. ODAC Net  не требует уставноленного клиента Oracle, ODAC требует.

3.
Цитата(Governor @  7.12.2006,  14:33 Найти цитируемый пост)
В чем могут быть грабли?

Запрос вернет 14 колонок, проблема в Delphi. Создай тему в Delphi там и спроси.

4. 
Цитата(Governor @  7.12.2006,  14:33 Найти цитируемый пост)
На всякий случай выкладываю конфигурацию BDE

Это тут причем, на картинке конфиг SQL Server-а.

Автор: Governor 8.12.2006, 14:03
Друзья, все получилось! Стоило перейти с Query на ADOQuery как проблемма растаяла как дым!!! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)