sql >> Database teknologi >  >> RDS >> Oracle

Sådan kører du et SQL Plus-script i PowerShell

Jeg bruger opkaldsoperatøren, & , som Keith Hill har foreslået med spørgsmålet, hvordan man kører en EXE-fil i PowerShell med parametre med mellemrum og anførselstegn.

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

Jeg har sat brugernavnet, adgangskoden i anførselstegn på grund af mellemrummene.

For at starte et script tilføjer jeg en anden parameter som følger:

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

Hvis du modtager ORA-12154-fejlen, og du ved, at andre brugere har etableret forbindelser (hvilket betyder, at databaselytteren kører korrekt); Jeg ville så undersøge om SQL*Plus kan finde min tnsname fil.

Min første opgave ville være at se, om jeg kan tnsping som følger i Windows cmd.exe:

tnsping orcl

Det vil bekræfte, at en forbindelse kan (eller ikke kan etableres).

Hvis det ikke kan, vil jeg kontrollere, om miljøvariablen, ORACLE_HOME, er indstillet. SQL*Plus bruger dette til at finde filen tnsname.ora.

Hvis det ikke er indstillet, vil jeg udføre denne sætning i PowerShell (for at etablere denne miljøvariabel):

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

Dernæst ville jeg prøve at tnsping igen (identificeret ovenfor).

Når det er lykkedes, ville jeg prøve igen at udføre scriptet kørende kommando ovenfor.



  1. SQLite Opret visning

  2. Hvordan ændrer jeg en PostgreSQL-tabel og gør en kolonne unik?

  3. Få dagen fra en date i PostgreSQL

  4. Alternativer til LIMIT og OFFSET for personsøgning i Oracle