【发布时间】:2015-08-11 12:22:45
【问题描述】:
我是 shell 脚本的新手,对此知之甚少或一无所知。 我必须阅读一个 db.properties 文件,其中包含数据库连接详细信息,即要连接到哪个数据库。然后我必须建立与该数据库的连接并执行操作以检查当前时间。
下面是我的 db.properties 文件:-
driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@171.01.187.94:1532:DEV
userName=abc
password=abc
下面是我调用 db.properties 文件的脚本:-
#!/bin/bash
file="./database.properties"
if [ -f "$file" ]
then
echo "$file found."
. $file
echo "User Id = " ${userName}
echo "user password = " ${password}
echo "url = " ${url}
sqlplus -S ${userName}/${password}@${url}
else
echo "$file not found."
fi
但我收到以下错误:-
错误: ORA-12154: TNS: 无法解析指定的连接标识符
有人可以帮忙解决上述问题吗?
【问题讨论】:
-
您本地的 Oracle TNS 设置不包括您要连接的数据库。您包含一个 Java JDBC 驱动程序类名,但您使用 sqlplus 客户端。在我看来。
-
@duffymo :- 是的,不是 :( 你能帮我按照我的要求修改脚本吗?
-
否,请联系您的 Oracle 数据库管理员。
-
您没有将 JDBC URL 传递给
SQL*Plus。那永远行不通。您通常希望在您的tnsnames.ora文件中创建一个条目,假设您使用的是本地命名,它指向该数据库。假设 TNS 别名被命名为“dev”,那么您将使用sqlplus user/password@dev连接到数据库。 -
有关 tnsnames.ora 的更多(但不完整)信息,请参阅stackoverflow.com/questions/23534668/… 中的答案。祝你好运。