Я бы не хотел использовать PowerShell здесь. Вместо этого я бы использовал ссылку на базу данных . Ссылка на базу данных соединит Database2 с Database1 и позволит перетащить данные из Database1 в Database2.
Вы создаете ссылку на базу данных, используя что-то вроде
CREATE DATABASE LINK Database1 CONNECT TO user IDENTIFIED BY password USING 'database1_tns_name';
Замените user
и password
на имя пользователя и пароль владельца схемы в базе данных Database1, а database1_tns_name
на имя TNS для Database1 в файле tnsnames.ora
базы данных2. (Вам может понадобиться создать запись для базы данных Database1, если она еще не существует в файле tnsnames.ora
базы данных Database2.)
Затем я бы запустил блок PL / SQL, аналогичный приведенному ниже, в Database2:
DECLARE
v_employeeType users.employeeType@Database1%TYPE;
BEGIN
FOR user_rec IN (SELECT userID FROM users)
LOOP
SELECT employeeType INTO v_employeeType
FROM users@Database1
WHERE userID = user_rec.userID;
IF v_employeeType = 'Employee' THEN
-- Check the parameters of this procedure - where does ID come from,
-- and do you really want to use the built-in function USER, which
-- returns the name of the currently-connected user?
wwsec_api.set_defaultgroup(ID, USER);
END IF;
END LOOP;
END;