powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Компоненты ADO для 64-bit
47 сообщений из 47, показаны все 2 страниц
Компоненты ADO для 64-bit
    #39820170
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа !

Изначальная ситуация
Windows 32 bit -> OracleClient 32 bit -> Приложение Delphi 7 c компонентами доступа ADO 32 bit

Текущая ситуация
Windows 64 bit -> OracleClient 64 bit -> Приложение Delphi 7 c компонентами доступа ADO 32 bit (!!!???)
Поставить дополнительно OracleClient 32 bit на операционку нельзя.

Можете подсказать выход ?
Может есть компоненты ADO 64 bit для Delphi 7 и если есть киньте ссылочку

Заранее благодарен !
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820171
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XМожет есть компоненты ADO 64 bit для Delphi 7 и если есть киньте ссылочку
Проблема в том, что семерка не умеет компилировать в 64 бита. :(

HOME_XПоставить дополнительно OracleClient 32 bit на операционку нельзя.
Придется кому-то раскошелиться на делфи посвежее.
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820173
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Принято - например какую версию предлагаете ставить ?
Может есть бесплатные ?
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820179
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XМожет есть бесплатные ?
Есть https://www.embarcadero.com/ru/products/delphi/starter
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820180
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820207
b0rk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XИзначальная ситуация
Windows 32 bit -> OracleClient 32 bit -> Приложение Delphi 7 c компонентами доступа ADO 32 bit

Текущая ситуация
Windows 64 bit -> OracleClient 64 bit -> Приложение Delphi 7 c компонентами доступа ADO 32 bit (!!!???)
Поставить дополнительно OracleClient 32 bit на операционку нельзя.
Может в данной ситуации стоит попробовать ODAC, которому в Direct режиме вообще не нужен клиент для работы с Oracle?
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820350
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b0rkМожет в данной ситуации стоит попробовать ODAC,Который тоже нужно купить и, если он еще поддерживает D7, переписать половину программы
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820358
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
почему нельзя поставить дополнительного клиента?
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820430
b0rk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_b0rkМожет в данной ситуации стоит попробовать ODAC,Который тоже нужно купить и, если он еще поддерживает D7, переписать половину программы
Ну мне кажется, что ODAC стоит в несколько раз дешевле чем новая RAD Studio.
Кроме того, все Delphi начиная с 2009 юникодовые, а это значит, что все равно прийдется многое переписать в проекте. А когда захочется 64-битное приложение сделать(чтобы поддержкать 64-битного клиента), то окажется что указтели стали 8 байтными, а об этом во времена Delphi 7 никто не думал. И как вишенка на торте, окажется что не все комоненты которые используются в проекте дожили до наших дней и последняя поддерживаемая Delphi где-то в районе Delphi 2010 в лучшем случае. Так что не все так однозначно.
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820458
MaratIsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XДоброго дня господа !

Изначальная ситуация
Windows 32 bit -> OracleClient 32 bit -> Приложение Delphi 7 c компонентами доступа ADO 32 bit

Текущая ситуация
Windows 64 bit -> OracleClient 64 bit -> Приложение Delphi 7 c компонентами доступа ADO 32 bit (!!!???)
Поставить дополнительно OracleClient 32 bit на операционку нельзя.

Можете подсказать выход ?
Может есть компоненты ADO 64 bit для Delphi 7 и если есть киньте ссылочку

Заранее благодарен !

InstantClient
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39820997
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratIsk
InstantClient

100500
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39821959
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за Ваши ответы и участие господа !

Поставить 32-bit Client-а, как и InstantClient не имею возможности так как пользовательская ПК
это терминал "ТОНКОГО" клиента сервера
У нас на предприятии, просто так все на ставят и собираются полностью переходить на 64 - bit Windows.

Так что оптимальнее и перспективнее это 64 bit версия Delphi.

P.S. а все эти дни переписывал управл. скрипты консольным VBS-ом
(ну только не надо смеяться..... да )
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39821972
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XПоставить 32-bit Client-а, как и InstantClient не имею возможности так как пользовательская ПК
это терминал "ТОНКОГО" клиента сервера
У нас на предприятии, просто так все на ставят и собираются полностью переходить на 64 - bit Windows.Вроде все слова по отдельности понятны но суть ускользает.
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822001
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот тоже не понимаю проблемы.
Ну работают у нас пользователи на терминалах под Win-64
Программы через АДО подключаются с MSSQL
В чём проблема ?
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822093
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr, наверное, в том, что раз win 64 бита, то всё должно быть 64 бита. Шаблонное мышление...
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822095
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в win64 спокойно работают 32 разрядные программы. ставишь instantclient 32 разряда со своей 32-разрядной программой и все работает
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822106
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
cptngrbв win64 спокойно работают 32 разрядные программы. ставишь instantclient 32 разряда со своей 32-разрядной программой и все работает

instant client даже ставить не надо, достаточно закинуть в папку со своей программой кучку dll
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822107
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator, для ado разве не нужно прописывать Path и Tns_admin в переменных среды?
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822108
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
cptngrbdefecator, для ado разве не нужно прописывать Path и Tns_admin в переменных среды?
а, да, я забыл, что у ТС используется ADO
так-то для ADO надо прописывать, да
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822183
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще не понятно, у автора Delphi 7 и он на ней, я тау поеял, и остается. Тогда о каких 64-битных драйверах и т.д. идет речь?
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822204
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть, он из свой 32 D7 обращается в 64x MSSQL к чужому linked Excel 64?
Тогда ему нафиг не нужно.

Но вдруг его попросили враги?

https://www.google.com/search?q=mdac x64
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822206
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorcptngrbв win64 спокойно работают 32 разрядные программы. ставишь instantclient 32 разряда со своей 32-разрядной программой и все работает

instant client даже ставить не надо, достаточно закинуть в папку со своей программой кучку dll


Доброго дня !

Не понял уточните ..

instant client не инсталится ?
это можно сделать без локальных прав на ПК и доступа к системным папкам и системным переменным ?

Пользовался инструкцией

На "тонком" клиенте это пройдет ?


Спасибо
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822214
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

Суть вопроса в том, что я решительно ничего не могу доинсталить на пользовательский ПК
Так как это общий терминальный сервер.

Могу менять только путем копирования программ в пользовательск. дисковое пространство и пользовательскую сессию

Насчет
"instant client не инсталится ..." - это любопытно, кто-то пробывал ?

Спасибо
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822237
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X, instantclient это набор библиотек, вся инсталяция заключается в копировании этого набора на локальный компьютер и прописывании двух переменных окружения. Вам, как пользователю, должны быть доступны переменные среды пользователя. Инструкция "по установке" клиента есть на сайте оракла, но суть ее заключается в прописывание пути к каталогу instantclient в две переменные окружения PATH и TNS_ADMIN. И не забудьте прописать настройки соединения в tnsnames.ora
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822313
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
04.06.2019 12:40, cptngrb пишет:
> И не забудьте прописать настройки соединения в tnsnames.ora

не обязательно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822355
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbTNS_ADMIN

эту переменную можно пропустить, если положить tnsnames.ora в подпапку \Network\Admin\.
Остается только PATH подправить


HOME_X,

1) создаем папку C:\Oracle Client
2) распаковаем туда Oracle Instant Client 32 bit (без подпапок, прямо в эту) ~~ 150Mb
3) добавляем C:\Oracle Client в переменную PATH
4) создем файл C:\Oracle Client\Network\Admin\tnsnames.ora , например с таким содержанием:
Код: ruby
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
# выделенное заменить на своё
TEST-DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TESTDB_SERVICE)
    )
  )
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822411
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

32-битные приложения прекрасно работают на 64-битных . Да иначе и быть не могло бы, представьте только, если б было по-другому. Сама Дельфи, даже самая новая - это 32-битная программа, и прекрасно работает на 64-битной Windows.
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822446
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

а в Registry в HKEY_LOCAL_MACHINE\Software\Wow6432Node\Oracle разве не нужно записывать ключ KEY_ORACLE_HOME со значениями
ORACLE_HOME = C:\Oracle Client
ORACLE_HOME_NAME = любое
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822459
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, не нужно
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822484
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

Наверно это только для DAO надо, не для ADO
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39822606
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookin, и для doa не надо
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39825866
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответы и участие господа !

Кроик Семён - отдельное спасибо за детализацию и конкретику.

InstantClient - почти справился с задачей.

Сопутствующие проблемы
- на своем "сверх-тонком" клиенте не сумел даже поправить параметры окружения PATH
нет допуска (политика безопасности предприятия)

Решение
- задаю значение PATH для отдельной session (или bat-файлом или прямо в Delphi-exe)

Доп. вопрос , может кто уже сталкивался
По ходу операций возникла необходимость доустановить Instant Client ODBC

Насколько понимал из Help-ы, установка ODBC делает запись в системный реестр и отображает
Driver = {Oracle in Oracle_Client} в окне ODBC администратора

Нужно предположить что у допуски здесь ТОЖЕ прикрыты или это не факт ??
Кто-то ставил Instant Client ODBС ? Там ведь не только задать PATH............

Спасибо ...
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39826839
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён ,

Еще один вопрос

1) создаем папку C:\WORK\Oracle_Client
2) распаковаем туда Oracle Instant Client 32 bit (без подпапок, прямо в эту) ~~ 12.1...... версия
3) добавляем C:\WORK\Oracle_Client в переменную PATH
Выполнено !

4) создем файл C:\Oracle Client\Network\Admin\tnsnames.ora , например с таким содержанием:
Не делал - так как пытаюсь законнектится через компоненты ADODB
(полагал что потребности при такой связи нет)

Какая должна быть значение свойства ConnectionString объекта ADODB - ?
Можно полностью (ссылка на драйвер (Driver={Oracle in Oracle_Client} .....) не проходит - нет возможности
зарегистрировать драйвер)

Спасибо !
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39826867
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что советует connectionstrings ?
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39826976
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gator,

Угу - слепил уже - спасибо (без tnsnames.ora)

Код: pascal
1.
2.
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))
(CONNECT_DATA=(SERVICE_NAME=MyOracleSID))); User Id=myUsername;Password=myPassword;


Тут прикол в другом был - ADODB не всегда может разобрать запрос
Т.е. запрос выглядит ПРОСТО "select * ..............." - норма !

Если так
Код: sql
1.
with  AAAA as (select * from .......)   select * from AAAA

- увы надо заворачивать в "обертку"

Код: sql
1.
2.
3.
4.
5.
6.
7.
select B.*  
  from (
            with  AAAA as (select * 
                                    from .......
                                 )   
             select * from AAAA
         ) B


P.S. Ну синтаксис такой у Oracle есть ....
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39828589
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

Еще один момент проясните пожалуйста
Как при использовании Inst. Client Oracle правильно установить NLS_LANG
Результаты запроса, всю кирилицу "скорозябрило"

Напоминаю первичные вводные

- Базовая система WIN 10 64-bit
- Ins Client Oracle Oracle 12.2 32-bit
- Изменить системный реестр нет возможности (политика безопасности предприятия)
- Изменить параметры окружения нет возможности,только параметры локальной сессии.
(менял PATH - в bat-ке перед запуском основного Delp-го приложения)

Спасибо ...
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39828599
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я думаю, здесь в другом дело. У меня проблемы были на немецком Windows + Oracle Instant Client с умлаутами немецкого же языка (ÜÖÄß), там проблема решилась не средствами Oracle.

Пробуйте в программе в каком-нибудь юните внизу в секции INITIALIZATION написать такое:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Uses Windows

//copied from JclWin32.pas
function MAKELCID(LangId, SortId: WORD): DWORD;
begin
  Result := (DWORD(SortId) shl 16) or DWORD(LangId);
end;


SetThreadLocale(MAKELCID(LANG_RUSSIAN, SORT_DEFAULT));
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39828600
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X..
Как при использовании Inst. Client Oracle правильно установить NLS_LANG
....
в bat-ке перед запуском основного Delp-го приложения)
...
И что, не получилось?
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39828631
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,

ВЫ хотите сказать что NLS_LANG можно задать в переменной окружения OS ?

В Help-е некоторые ссылки на этот момент есть

Код: plsql
1.
2.
3.
4.
5.
6.
7.
Setting the NLS_LANG Environment Variable
NLS_LANG is an environment variable that specifies the locale behavior for Oracle software. This variable sets the language and territory used by the client application and the database user session. It also declares the character set of the client, which is the character set of data entered or displayed by an Oracle client program, such as SQL*Plus.

Note:

The character set of the data displayed is determined by the environment of the operating system, such as keyboard driver and fonts in use. The NLS_LANG character set should match the operating system.
Refer to the "Setting Up a Globalization Support Environment" section in Oracle Database Globalization Support Guide for information about Globalization Support.



Но всегда использовал систем. реестр и "alter session ......"
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39828646
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
самый простой и безгеморройный вариант - использовать

alter session set NLS_LANGUAGE = 'RUSSIAN'

сразу после коннекта к базе
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39830972
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа !

Резюмирую тему

1.Откопировали 32 - bit InstantClient c офиц. сайта
2.Разархивировали и скопировали содержимое в любую папку
3.Переменную окружения Path (переменную ПК или отдельной сессии в ВАТ - файле)
изменили, необходимо добавить ссылку на этот каталог
4.Переменную окружения NLS_LANG - изменили на нужный Вам стандарт (в том же BAT-файле)
5.Tnsnames.ora - не нужен, строка коннекта имеет вид
Provider=MSDAORA.1;User ID={UID};Password={PWD};Persist Security Info=True;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={Имя ПК})(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={Имя сервера})))

Bat для DOS
Код: pascal
1.
2.
3.
4.
set Hard=%CD:~0,2%
set oPath=%Hard%\WORK\Oracle_Client;
set Path=%oPath%%Path%
set NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251



Запуск EXE-файла делаем непосредственно из BAT-ка

Всем спасибо - тему можно закрыть
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39830979
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XBat для DOS
Код: pascal
1.
2.
3.
4.
set Hard=%CD:~0,2%
set oPath=%Hard%\WORK\Oracle_Client;
set Path=%oPath%%Path%
set NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251



Почему бы не выставлять эти переменные окружения из INITIALIZATION приложения?
Возможно тогда и батник будет не нужен
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39830981
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
их значение задавать в INI-файле
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39830985
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

Имеете в виду непосредственно из EXE

SetEnvironmentVariable(PChar(Name), PChar(AValue)) ?
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39830989
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да,через SetEnvironmentVariable
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39830993
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например, из секции INITIALIZATION главного юнита
...
Рейтинг: 0 / 0
Компоненты ADO для 64-bit
    #39830996
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

Принято - подумаю - спасибо
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Компоненты ADO для 64-bit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]