伙计们。我有以下片段:
$conn = oci_connect('user', 'pass', '(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)
(HOST=myhost.net)(PORT=1521)
)
)
(CONNECT_DATA=
(SERVER = DEDICATED)
(SERVICE_NAME = MYSERVICE)
)
)');
这给了我以下错误:oci_connect: ORA-12541: TNS:no listener
这是我第一次尝试连接到oracle数据库。我做错了什么?我在Windows上。
您确定TNS Listener服务正在运行吗?您可以通过在运行对话框中键入services.msc进行检查,您将获得正在运行的服务列表。如果您快速查找Oracle,您将找到TNS Listener。我认为你的TNS条目是正确的。
我在用codeigniter连接oracle数据库时遇到了同样的错误,两天后终于找到了一些解决方案:
注意:这些步骤在Wamp服务器-windows 10中对我有效
- 首先从oracle官方网站下载即时客户端,并将其提取到某个文件夹中https://www.oracle.com/database/technologies/instant-client/downloads.html
- 使用即时客户端路径更新环境变量
PATH
,即D:\php\instantclient_21_3 - 编辑您的
php.ini
并取消注释extension=php_oci8_12c.dll
- 重新启动Wamp服务器