sql >> Databasteknik >  >> RDS >> Oracle

Hur man kör ett SQL Plus-skript i PowerShell

Jag använder samtalsoperatören, & , som Keith Hill har föreslagit med frågan, Hur man kör en EXE-fil i PowerShell med parametrar med mellanslag och citattecken.

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

Jag placerade användarnamnet, lösenordet inom citattecken på grund av mellanslagen.

För att starta ett skript lägger jag till ytterligare en parameter enligt följande:

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

Om du får ORA-12154-felet och du vet att andra användare har upprättat anslutningar (vilket innebär att databasavlyssnaren fungerar som den ska); Jag skulle då undersöka om SQL*Plus kan hitta min tnsname-fil.

Min första uppgift skulle vara att se om jag kan tnsping enligt följande i Windows cmd.exe:

tnsping orcl

Det kommer att bekräfta att en anslutning kan (eller inte kan upprättas).

Om det inte kan, skulle jag kontrollera om miljövariabeln, ORACLE_HOME, är inställd. SQL*Plus använder detta för att hitta filen tnsname.ora.

Om den inte är inställd, skulle jag köra den här satsen i PowerShell (för att upprätta den här miljövariabeln):

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

Därefter skulle jag försöka igen till tnsping (identifierad ovan).

När jag lyckats, skulle jag försöka köra kommandot för scriptkörning ovan igen.



  1. Det gick inte att ladda DLL "OraOps10.dll"

  2. SQL Server Error 4104:Den flerdelade identifieraren kunde inte bindas.

  3. Inkludera tabeller och scheman när du listar identitetskolumnerna i en SQL Server-databas

  4. Arbeta med JavaFX UI och JDBC Applications