mali_the
mali_the

Reputation: 25

How to format oracle connection string and output query to file

I am trying to connect to a oracle database, query it, and send results to a txt file. When I run my statement, this shows in the .txt file:

enter image description here

In reality, it should be values from my sql script.

Here is the string i am running:

sql_file1=Cb.sql

sqlplus -s "username/pwd@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=my_host)(Port=1521))(CONNECT_DATA=(SERVICE_NAME=my_ser_name))))" @sql/$sql_file1 > /home/path/to/my/files/'cb.txt'

Any reasons as to why my 'cb.txt' file shows the screenshot from above instead of any date from the query inside my sql file?

Upvotes: -1

Views: 355

Answers (1)

Sayan Malakshinov
Sayan Malakshinov

Reputation: 8655

You have extra ) in your connection string:

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=my_host)(Port=1521))(CONNECT_DATA=(SERVICE_NAME=my_ser_name))))

should be

sqlplus -s "username/pwd@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=my_host)(Port=1521))(CONNECT_DATA=(SERVICE_NAME=my_ser_name)))" @sql/$sql_file1 > /home/path/to/my/files/cb.txt

But even easier to use EZConnect string:

sqlplus -s "username/pwd@//my_host:1521/my_ser_name" @sql/$sql_file1

Upvotes: 1

Related Questions