Използвам оператора за повиквания, &
, както Кийт Хил предложи с въпроса Как да стартирам EXE файл в PowerShell с параметри с интервали и кавички.
& 'path\sqlplus.exe' 'system/[email protected] as sysdba'
Поставих потребителското име и паролата в кавички поради интервалите.
За да стартирам скрипт, добавям друг параметър, както следва:
& 'path\sqlplus.exe' 'system/[email protected] as sysdba' '@my_script.sql'
Ако получавате грешката ORA-12154 и знаете, че други потребители са установили връзки (което предполага, че слушателят на базата данни работи правилно); След това бих проверил дали SQL*Plus може да намери моя файл tnsname.
Първата ми задача би била да видя дали мога да tnsping, както следва в Windows cmd.exe:
tnsping orcl
Ще потвърди, че връзка може (или не може да бъде установена).
Ако не може, ще проверя дали променливата на средата ORACLE_HOME е зададена. SQL*Plus използва това, за да намери файл tnsname.ora.
Ако не е зададено, бих изпълнил този израз в PowerShell (за да установя тази променлива на средата):
[Environment]::SetEnvironmentVariable("ORACLE_HOME", "C:\app\Administrator\product\11.2.0\client_1" , "User")
След това ще опитам отново да tnsping (идентифициран по-горе).
След като успея, бих опитал отново да изпълня командата за изпълнение на скрипта по-горе.