Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I've initially posted this question on serverfault.com, but because lack of answers decided to post it here...

I'm trying to use bat file/CLI to run SQL script against certain Oracle database with following syntax:

sqlplus -L user_name/database_name@Password @d:\my_bat_file\sql_script.sql

If I run this following error is returned:

ORA-12154: TNS:could not resolve the connect identifier specified

SP2-0751: Unable to connect to Oracle. Exitig SQL*Plus

At the same time tnsping database_name works fine & corresponding connection configuration strings are present in tnsnames.ora

Moreover if I type commands manually in a following way:

sqlplus /nolog
connect user_name@databasename

I can connect to the database too. Any idea why I'm getting error when trying to use command I mentioned in beginning & how to fix it?

P.S. I'm doing this from Windows Server 2003 SP2 box with Oracle client v10 installed.

share|improve this question
I hope you mean user_name/password@tnsalias instead of user_name/database_name@Password –  Munchi Oct 29 '13 at 11:54
Well - you draw my attention to the right thing... Kind of a stupid mistake. Indeed problem was because I've used username/thsalias@password instead of username/password@tnsalias. Just copied this syntax from previously used batch file - and because it is test environment with the same values for password & tnsalias in most cases except this new database I tried to connect to this tame it was overlooked by me. –  Mikhail Oct 29 '13 at 12:09
Can happen to everyone ;-), that's why we are here :D –  Munchi Oct 29 '13 at 12:31

2 Answers 2

As Munchi pointed out the issue was caused by wrong syntax. I used:

sqlplus -L user_name/tns_alias@Password @d:\my_bat_file\sql_script.sql

Instead of:

sqlplus -L user_name/Password@tns_alias @d:\my_bat_file\sql_script.sql
share|improve this answer

Try to set ORACLE_SID inside of a script, and then try with sqlplus command.

set ORACLE_SID=testdb

sqlplus -l....
share|improve this answer
Wouldn't matter since he is using a tnsalias. –  Munchi Oct 29 '13 at 11:57

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.