2012-05-21 3 views
1

У меня есть файл BAT, который запускает скрипт на оракула:SQLPLUS BAT файла

sqlplus myuser/[email protected] @C:\runthisfile.sql 

Я хочу распространять это другим пользователям (которые не обязательно знают, как изменить файл BAT).

Я хочу, чтобы приглашение dos запрашивало у пользователя ввода своего пользователя и пароля (очевидно, я не хочу давать им данные о подключении). Попробовали все типы комбинаций, но все, что происходит, это то, что я заканчиваю SQL>......

Я в тупик!

ответ

0

Вы можете использовать команду SET с /P аргументом для того, чтобы побудить пользователя для текста во время пакетного файла запуска, например:

SET /P variable=Please enter text 

Это будет заполнить variable с тем, что они печатают до удара возвращения ,

@ECHO OFF 
SET /P uname=Username: 
SET /P pass=password: 

Это простая программа, которая предложит сначала имя пользователя, а затем пароль. Затем вы должны быть в состоянии передать это в качестве аргумента SQLPLUS:

sqlplus %uname%/%pass%@mydatabase @C:\runthisfile.sql 
0

Что касается с SQLPlus остановки, ничего не делая:

Иногда SQLPlus отделка с ... это означает, что ждет чего-то большего.

Попробуйте добавить «/» (без кавычек) в конец вашего файла SQL для его выполнения.

Я надеюсь, что это поможет ...

0

Это очень простой код для открытия Sqlplus без ввода usename и пароль вручную.

SQLPLUS -L Username/Password

Например: SQLPLUS -L Rak4ak @ sun64/RK4

для понимания:

SQLPLUS [[] [{входа |/NoLog}] []]

является: [-C] [-L] [-M ""] [-NOLOGINTIME] [-R] [-S]

-C <version> Sets the compatibility of affected commands to the 
       version specified by <version>. The version has 
       the form "x.y[.z]". For example, -C 10.2.0 
-L    Attempts to log on just once, instead of 
       reprompting on error. 
-M "<options>" Sets automatic HTML markup of output. The options 
       have the form: 
       HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text] 
       [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}] 
-NOLOGINTIME Don't display Last Successful Login Time. 
-R <level>  Sets restricted mode to disable SQL*Plus commands 
       that interact with the file system. The level can 
       be 1, 2 or 3. The most restrictive is -R 3 which 
       disables all user commands interacting with the 
       file system. 
-S    Sets silent mode which suppresses the display of 
       the SQL*Plus banner, prompts, and echoing of 
       commands. 

является: { [/] [@] | /} [AS {SYSDBA | SYSOPER | SYSASM | SYSBACKUP | SYSDG | SYSKM}] [EDITION = значение]

Specifies the database account username, password and connect 
identifier for the database connection. Without a connect 
identifier, SQL*Plus connects to the default database. 

The AS SYSDBA, AS SYSOPER, AS SYSASM, AS SYSBACKUP, AS SYSDG, 
and AS SYSKM options are database administration privileges. 
Смежные вопросы