【问题标题】:Oracle Instant Client - SQL*Plus - ERROR: No TNS Listener (MacOSX)Oracle Instant Client - SQL*Plus - 错误:没有 TNS 侦听器 (MacOSX)
【发布时间】:2018-07-08 05:36:44
【问题描述】:

我正在开发一个必须与 ORACLE 数据库连接的 Web 应用程序。

目前我正在使用 macOS X,我已经下载了Oracle Instant Client。 我可以运行sqlplus,但在登录界面时出现以下错误:

SQL*Plus: Release 12.2.0.1.0 Production on Sun Jul 8 10:55:48 2018

Copyright (c) 1982, 2017, Oracle.  All rights reserved.
Enter user-name: hr
Enter password: 
ERROR:
ORA-12541: TNS:no listener

仅供参考,除了Oracle的客户端软件,我没有下载任何东西,并按照官方安装文档进行安装。 我真的需要为数据库工作sqlplus

请帮忙。

另外,请告诉我如何在我的机器上使用sqlplus

【问题讨论】:

  • 所以您的 Mac 上没有 Oracle 数据库。您在某处的服务器上是否有 Oracle 数据库?
  • @APC 不,我的磁盘快满了,所以我无法使用任何虚拟机运行 windows 或 linux!,
  • 请检查我的回答并接受它是否对您有帮助或为给定的解决方案提供相关反馈(cmets)。请阅读:stackoverflow.com/help/someone-answers 了解为什么它很重要。

标签: sql oracle macos oracle11g oracle-sqldeveloper


【解决方案1】:

Instant Client 并不为您提供可使用的 Oracle 数据库,它们只是连接数据库的工具。来自Instant Client 的文档

Oracle Instant Client 使应用程序能够连接到本地或 用于开发和生产部署的远程 Oracle 数据库。这 Instant Client 库提供必要的网络连接, 以及基础和高端数据功能,充分利用 甲骨文数据库。

因此,在使用即时客户端之前,您需要在某个地方(本地或远程)拥有一个 Oracle 数据库。如果您在远程主机上有一个数据库服务器,您可以使用简单连接语法来连接它。

sqlplus user/pwd@//remote_hostname:1521/remote_dbname

如果您的$TNS_ADMIN 中有一个tnsnames.ora 文件预配置为包含可用数据库实例的列表,您可以简单地使用它来连接

 sqlplus user/pwd@tns_entry_for_DB

将 tns 条目放在命令行中也可以。

 sqlplus user/pwd@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=remote_hostname)(Port=1521))(CONNECT_DATA=(SID=remote_dbname)))

此外,Oracle 不提供超过 10gr2 的数据库软件版本供您在 Mac 上本地安装。

如果您想在 Mac 中安装并连接到本地数据库版本 12.2,一种选择是为 Linux/Windows 托管 虚拟机 或运行 docker container。详情请阅读我的帖子:Oracle SQL for Mac OS X

【讨论】:

  • Docker 绝对是前进的道路,但如果你还没有准备好,Virtual Box 可能是一个垫脚石:blogs.oracle.com/opal/…
猜你喜欢
  • 2021-05-23
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-04
  • 2012-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多