powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
17 сообщений из 17, страница 1 из 1
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826460
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изначально задача была такая:
1) Имеется ряд табличек, заполняемых в программе, писанной на Фоксе.
2) Имеется БД Oracle, в которую нужно осуществить перенос данных.

Решение было такое:
1) Создан VBS-скрипт, запускаемый средствами операционки с заданной частотой.
2) Содержимое скрипта просто:
открываем OLE DB соединение с фоксом и с ораклом и переносим данные.

Все БЫЛО хорошо в WinXP.
Однако переехали на x64 и начались приключения.

Итак, хотелось бы без серьезных усложнений восстановить работу скрипта.
PS на самом деле таких скриптов несколько.


Основная проблема с которой столкнулся:
В x64 нет OLE DB провайдера для FOXа - в принципе нет. (3 дня подрыва интернета меня в этом убедили.)
Можно поставить x32 OLE DB провайдера для FOX, но его использовать можно только при запуске cscript.exe x32 версии.
Но тогда у меня "пропадает" провайдер для ORACLE (стоит x64 версии). Что-то ломать в оракле на этой машине мне не хочется, т.к. там стоит сервер БД и еще всякое.

Если бы как-то можно было в одном скрипте одновременно работать с х32 разрядным провайдером FOXа и х64 провайдером Оракла...

Или как-то еще.

Помогите решить проблемку.
Готов дать уточняющую информацию.
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826464
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x64 OLE DB провайдера для FOXа нет и никогда не будет.

ИМХО не там спрашиваешь. Я бы копал в сторону как запустить х32 провайдер Оракла. Возможно он просто не установлен.
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826486
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть не OLE DB, а какую-то другую технологию, позволяющую получать данные их FOXа можно использовать?

Что еще есть для x64, чтобы можно было использовать в VBS-скриптах для получения данных FOXа?
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826499
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOT MATPOCKuH,
как уже написано, поставить 32-битные дрова для оракла и не мучать мозги себе и окружающим поисками чего-то необычного.
И не путать теплое с мягким, то бишь битность и технологию.
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826510
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, Sergey Sizov

Имеются некоторые сложности с установкой там дров оракла, это первое о чем и я подумал.

Пока вопрос другой - а вообще в win х64 посредвством VBS (64) вообще можно ли взять данные из FOXа?

Если можно, то чем???

ЗЫ собственно поэтому вопрос в данной ветке
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826519
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если же не чем, то тогда Мирософт действительно нашел наконец способ убить Фокс.
Впервые об этом своем желании они заявляли где-то в 1995 году...
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826520
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятия не имею про VBSx64.
Обычно с данными фокса работают из фокса без всяких провайдеров. Насколько я знаю нет ничего кроме VFPOLEDB

Если база целиком нужна, то можешь читать DBF как обычные файлы, структура там простая.

ИМХО Если не дают провайдеров ставить, то проще всего поднять виртуалку с WinXP и в ней запустить.
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826541
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

1)
VBSx64 - это не совсем правильно я назвал.
Вообще, это Windows Script Host в варианте VBS, запускаемый в операционках х64, т.е. WIN 7, WIN10, WIN12 и др.

В некотором смысле это старый BAT-файл, содержимое которого написано на VB(J, c# и др.), позволяет работать практически с любыми компонентами системы. В моем случае - с БД.

VBS я его назвал - по расширению запускаемого файла.

Вообще-то очень удобно, если тебе нужно что-то небольшое, без установки всяких сред и компиляции всяких проектов.

2) Парсить всю таблицу (DBF) не хочу: не вижу смысла писать заново обработчик DBF-файлов.

3) Насколько я знаю нет ничего кроме VFPOLEDB
Его тоже НЕТ!
Умер вместе с х32
В х64 он не работает.
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826552
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOT MATPOCKuHНасколько я знаю нет ничего кроме VFPOLEDB
Его тоже НЕТ!
Умер вместе с х32
В х64 он не работает.
В Win7х64 отлично работает x32, проблема только в руках. Данная задача требует немного попрограммировать, а с этим проблемы, как понимаю.
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826553
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOT MATPOCKuH
3) Насколько я знаю нет ничего кроме VFPOLEDB
Его тоже НЕТ!
Умер вместе с х32
В х64 он не работает.Ложь. Работает. Просто его надо поставить и работать с ним из 32-битной программы.

KOT MATPOCKuHМожно поставить x32 OLE DB провайдера для FOX, но его использовать можно только при запуске cscript.exe x32 версии.И что мешает этим воспользоваться? Нет/не хотите ставить 32-битные дрова оракла? Переносите через промежуточный формат, например, CSV.
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826564
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov,

Как-то это все кривовато выходит...

Уточню:
Скрипт сначала обращается в оракл с вопросом - "Чего последнее перекачали?"
На основе этих данных - выбирает в Фоксе "Чего нужно перекачать" и собственно перекачивает сырые данные, потом их обрабатывает и фиксирует вставку.
В частности для оракла - все это действо - одна цельная транзакция.

Существующий скрипт - на 30-40 строк.

Распиливать это на несколько скриптов (выполняемых в разных разрядностях), организовывая передачу между ними параметров, например, в отдельных файлах - как-то сильно усложняет задачу. Она (задача) становится плохо читаемая и плохо поддерживаемая.

За один раз переносится 5-50к строк.

Иногда (раз в несколько месяцев) модифицируется структура DBF (купленное ПО, где разработчик шалит).
Мне в этот процесс ни как не вмешаться.


Примечание: везде пишу "в Фоксе" - означает в DBF-файлах, с которыми работает ПО, писанное на Фоксе 9.0
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826578
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOT MATPOCKuH,
еще раз - что мешает поставить 32-битные дрова для оракла?
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826934
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь несколько путей решения задачи:

1. Мы очень часто используем MS SSIS (часть MS SQL Server) - там задаёшь версию клиента для Oracle (32 или 64 bit) - в зависимости что у Вас установлено. Для FoxPro Ole DB provider - 32 bit. Длее script and scheduled job.

2. В самом MS SQL Server добавляется два linked server - 64bit Oracle и 32 bit Fox pro Ole Db provider - и пишите Ваш script по перекачке данных.

3. В .NET пишите Вашу перекачку данных - там очень просто указать какой разрядности должны быть providers.

В основном мы используем вариант 1 так как после deployment уже IT support отвечает за всё

Good luck!

P.S. Ещё есть независимые Oracle 32 bit providers, но их всё равно надо устанавливать на машине, где Вы будете запускать свой script...

P.S.2. Странно, но в стандартном клиенте от Oracle идёт по умолчанию два клиента - 32 and 64 bit.
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39826936
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey SizovKOT MATPOCKuH,
еще раз - что мешает поставить 32-битные дрова для оракла?
+ 1

Как я уже заметил выше - по умоланию у стандартного клиента Oracle устанавливется обе версии - 32 and 64 bit...
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39827098
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Ch,

1) По сути так и сделал.
Точнее выбрал комп, который всегда работает (WIN7), на котором оракл не использовался, поставил туда клиента оракла, фоксового провайдера и в х32 выполняется скрипт по расписанию. Запускается, конечно, х32 версия сервера сценариев.

Изначально хотелось на WIN12 серваке это сделать, все же на сервере и должны быть подобные задачи, а не на "посторонней" рабочей станции.

На этом виндовс-сервере и стоит сервер оракла.
Однако клиента х32 там нет (почему-то).
Переустанавливать клиента оракла на сервере оракла как-то боязливо, ибо не до конца понимаю этого процесса.
Ведь там, наверное, будет новый "дом", новые прочие настройки - как это повлияет на работу самого сервера - хз.

2) Смутило во всей теме меня одно - что для х64 нет фоксового провайдера.
И заменить видимо нечем.
Вот и получаются танцы с бубном в старом добром х32.
Работает, но как-то это все... неправильно.
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39827100
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* Однако ПРОВАЙДЕРА х32 там нет (почему-то).
...
Рейтинг: 0 / 0
Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
    #39827470
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOT MATPOCKuH* Однако ПРОВАЙДЕРА х32 там нет (почему-то).
Если у Вас с английским всё в порядке - тут есть пошаговая инструкция как это сдеалать.

Хотя я с Вами согласен - лучше не ломать если работает.

К сожалению Microsoft уже не будет ничего делать с FoxPro. Всё что можно и нельзя они они уже перенесли в .NET... А данные они рекомендуют хранить в их MS SQL Server (есть вполне приличные официально бесплатные версии).
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Перенос данных скриптом из Fox 9.0 в Oracle12 на x64 Виндах
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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