- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 PHP 中使用 ODBC 访问 Oracle 数据库。 (Apache 2、PHP 5、ODBC 驱动程序和 Oracle 数据库 11.2 安装在 VirtualBox 的 Ubuntu Server 14.04 上。)
我已经成功安装了 Oracle 数据库,并且我想我已经配置了 tnsnames.ora 和 ODBC 驱动程序:
Warning: odbc_connect(): SQL error: [unixODBC][Oracle][ODBC][Ora]ORA-12514: TNS:listener does not currently know of service requested in connect descriptor , SQL state S1000 in SQLConnect in /var/www/html/index.php on line 61
odbc_connect
没有安装驱动程序,我有另一个错误。
@DB
使用 sqlplus 时,我收到一些奇怪的错误(下面的列表)。
# tnsnames.ora Network Configuration File:
MYNAME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (COMMUNITY = TCP)(PROTOCOL = TCP)(HOST = database)(PORT = 1521))
)
(CONNECT_DATA = (SID = XE))
)
DB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = database)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
DB
和
EXTPROC_CONNECTION_DATA
当我开始时,部分就在这里,但我还添加了
MYNAME
测试我是否应该使用
(CONNECT_DATA = (SID = XE))
而不是
(SERVICE_NAME = ORCL)
.
sqlplus dbuser@DB
一样登录:
sqlplus dbuser@DB
SQL*Plus: Release 11.2.0.2.0 Production on Wed Feb 17 21:22:41 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
ERROR:
ORA-12641: Authentication service failed to initialize
SQLNET.AUTHENTICATION_SERVICES
来自
ALL
至
NONE
,我根本无法使用 sqlplus 登录:
sqlplus dbuser@DB
SQL*Plus: Release 11.2.0.2.0 Production on Wed Feb 17 21:22:41 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
sqlplus dbuser
SQL*Plus: Release 11.2.0.2.0 Production on Wed Feb 17 21:22:41 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
- Check if a database instance is up and running
- Check the output of the
lsnrctl service
command and see what services are registered.- Check if you have
SERVICE_NAME
correctly specified when connecting to the instance.- If it happens that database instance stared before listener did, sometimes you just need to wait a little or you can execute
alter system register
in order to register the instance.
local_listener
解决方案)。
lsnrctl status
:
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 18-FEB-2016 20:27:56
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 18-FEB-2016 20:21:31
Uptime 0 days 0 hr. 6 min. 25 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service ORCL
Listener Parameter File /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/database/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=database)(PORT=1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
Service "ORCLXDB" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
sqlplus dbuser
(当
SQLNET.AUTHENTICATION_SERVICES
设置为
ALL
时):
SQL*Plus: Release 11.2.0.2.0 Production on Thu Feb 18 20:26:50 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL>
最佳答案
好吧,我是个白痴。
我的 /etc/odbc.ini
包含类似的东西:
[DB]
Application Attributes = T
Attributes = W
BatchAutocommitMode = IfAllSuccessful
CloseCursor = F
DisableDPM = F
DisableMTS = T
Driver = Oracle 12g ODBC driver
DSN = DB
EXECSchemaOpt =
EXECSyntax = T
Failover = T
FailoverDelay = 10
FailoverRetryCount = 10
FetchBufferSize = 64000
ForceWCHAR = F
Lobs = T
Longs = T
MetadataIdDefault = F
QueryTimeout = T
ResultSets = T
ServerName = localhost/DRORACLE
SQLGetData extensions = F
Translation DLL =
DisableRULEHint = T
UserID = dbuser
StatementCache=F
CacheBufferSize=20
odbc.ini
中查看了该记录。并决定尝试一些更简单的东西(知道在其他机器上运行良好):
[DB2]
Driver = Oracle 12g ODBC driver
DSN = DB
ServerName = database
UserID = dbuser
Password = dbuser
isql -v DB2
它奏效了!
ServerName = localhost/DRORACLE
ServerName = database
database
==
localhost
就我而言,只是
/etc/hosts
中的另一行.
isql -v DB
的错误消息,当我刚刚更改
ServerName
在第一个记录中,但这只是因为该记录丢失了
Password
field 。
SQLNET.AUTHENTICATION_SERVICES = (NONE)
这里。我不确定为什么,但它显示
ORA-12641: Authentication service failed to initialize
如果我使用
(ALL)
那里。对我来说没关系,所以如果你要配置它,你可能应该自己弄清楚。
关于database - ORA-12514 : TNS:listener does not know of service (The service is running and listed by lsnrctl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35463016/
我正在使用 COM 库 RCWs 。我一直发现最好的做法是在所有非托管资源超出范围之前手动释放它们并进行垃圾收集。我不希望这“减慢”我的应用程序的速度,并且我不在乎这实际上何时完成(如果有的话)在应用
我认为作为一个挑战,我应该编写一个基于 javascript 的游戏。我想要声音、图像和输入。模拟屏幕的背景(例如 640x480,其中包含我的所有图像)对于将页面的其余部分与“游戏”分开非常有用。我
在抓取网站的单个页面时,我使用 Beautiful Soup 取得了巨大成功,但我有一个新项目,我必须在其中检查大量网站,看看它们是否包含指向我网站的提及或链接。因此,我需要检查每个站点的整个站点。
我期待构建一个高度依赖地理数据的应用程序。 该应用程序将使用 HTML5 获取 GPS 数据的能力,并将进行诸如寻找最近的街道、寻找两点之间的最短路径等计算。我正在考虑使用 Google map 等平
我在使用 liquibase 时遇到问题。当我运行我的 J2EE 应用程序时,liquibase 告诉我: liquibase.exception.ValidationFailedException:
我的 iphone 上有一个应用程序,它允许我也可以通过 ftp 从我的 linux 桌面传输歌曲。应用显示主机地址为192.168.0.4并且要使用的端口是5021 .我可以从 filezilla
回答者已经知道的东西,但无论如何在这里展示我的思考过程: 从 HLL 到机器代码,这里有一组粗略的发生的事件(有链接器和其他东西,但现在让我们忽略它): HLL --> 编译器 --> 汇编器 ---
显然,下面的函数是不可能的,因为不可能永久地解开一个 IO 值(忽略 unsafePerformIO 或类似的): unwrapIO :: IO String -> String unwrapIO (
我在测试机器上安装了 Java 版本 45。高安全性设置表示无法在旧版本的 Java 上运行未签名或自签名的应用程序,事实上它无法运行自签名的小程序。 这个版本如何能够检测到它是旧版本?首次部署时它肯
怎么可能跳过 SemaphoreCI 上的一些测试?换句话说,是否有可能知道我们何时对 Semaphore 运行特定测试? 最佳答案 SemaphoreCI 将 CI 环境变量设置为 true。 有关
我知道我可以使用 xcodebuild 启动应用程序的单元测试,但我想知道什么告诉应用程序在启动期间运行测试,它是发送给应用程序的特殊参数还是它为了运行测试(使用 XCTest)进行不同的编译? 最佳
我对 Joomla 相当陌生(我更喜欢使用 Wordpress),我有一个关于模块位置的问题。 模块可以知道它所处的位置吗?例如我可以做这样的事情: if(modulePosition =='left
我有一个简单的 Spring Boot 应用程序,它从 Kafka 读取并写入 Kafka。我写了一个 SpringBootTest使用 EmbeddedKafka测试这一切。 主要问题是:有时测试失
我想知道 R 对它运行的硬件/系统有什么了解。 例如,我知道使用“sessionInfo()”会发现一些事情。但是是否也可以检查计算机的 CPU/内存?是否可以为所使用的计算机设置一些唯一标识符? 动
我试图掌握 PHP 和 MYSQL 编程,但在看到示例后,我无法理解 mysql_fetch_row 如何知道要返回哪一行。例如: 在上面的代码中,echo $row[0]; 返回表中第一列的数据,
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我得到了一个 makefile,我将其修改为: ############################################ # Makefile using OCI (Oracle Ca
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this qu
相关:What does casting do at compiler/machine level? 假设我有自定义类型。 A 型是 B 型的子类型。 最初,我的变量类型为 A 类型。然后我将其转换为
想到这里有个奇怪的问题。例如,假设您在服务器上部署了执行以下操作的代码: //GET request called when a URL is hit public void gETCalled(){
我是一名优秀的程序员,十分优秀!