Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak uruchomić skrypt SQL Plus w PowerShell

Używam operatora połączenia, & , jak zasugerował Keith Hill w pytaniu, Jak uruchomić plik EXE w PowerShell z parametrami ze spacjami i cudzysłowami.

& 'path\sqlplus.exe' 'system/[email protected] as sysdba'

Umieściłem nazwę użytkownika, hasło w cudzysłowie ze względu na spacje.

Aby uruchomić skrypt, dodaję kolejny parametr w następujący sposób:

 & 'path\sqlplus.exe' 'system/[email protected] as sysdba' '@my_script.sql'

Jeśli otrzymujesz błąd ORA-12154 i wiesz, że inni użytkownicy nawiązali połączenia (co oznacza, że ​​program nasłuchujący bazy danych działa prawidłowo); Następnie sprawdziłbym, czy SQL*Plus może znaleźć mój plik tnsname.

Moim pierwszym zadaniem byłoby sprawdzenie, czy mogę sprawdzić w Windows cmd.exe w następujący sposób:

tnsping orcl

Potwierdzi to, że połączenie może (lub nie może zostać nawiązane).

Jeśli nie, sprawdziłbym, czy zmienna środowiskowa ORACLE_HOME jest ustawiona. SQL*Plus używa tego do znalezienia pliku tnsname.ora.

Jeśli nie jest ustawiony, wykonałbym tę instrukcję w PowerShell (aby ustalić tę zmienną środowiskową):

[Environment]::SetEnvironmentVariable("ORACLE_HOME", "C:\app\Administrator\product\11.2.0\client_1" , "User")

Następnie spróbowałbym ponownie tnsping (określony powyżej).

Gdy się powiedzie, spróbuję ponownie wykonać powyższe polecenie uruchomionego skryptu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje system kontroli wersji dla zmian struktury bazy danych?

  2. SYS_GUID() Funkcja w Oracle

  3. Przyspiesz to_sql() podczas zapisywania Pandas DataFrame do bazy danych Oracle przy użyciu SqlAlchemy i cx_Oracle

  4. Czy w niektórych wersjach Oracle istnieje limit zagnieżdżania skorelowanych podzapytań?

  5. Jak przekonwertować liczbę na ciąg w Oracle?