• 5462阅读
  • 2回复

用Qt连接oracle数据库出错 [复制链接]

上一主题 下一主题
离线aesoplord
 

只看楼主 倒序阅读 楼主  发表于: 2010-11-21
— 本帖被 XChinux 执行加亮操作(2010-11-26) —
其中相关的代码片段是这样的(oracle驱动我自己已经编译好了,oracle数据库也已经配置好了):

QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
qDebug()<<"the connection's driver name:"<<db.drvierName()<<",db is valid:"<<db.isValid();

db.setHostName("10.10.9.6");
db.setPort(1521);
db.setDatabaseName("ORCL");
db,setUserName("sys");   //安装oracle时配置的默认账户
db.setPassword("zaq1XSW2");

if(!db.open())
     qDebug()<<"open database error:"<<db.lastError().text();
db.close();



结果debug window里打印
open database error:"ORA-28009: connection to sys should be as sysdba or sysoper
Unable to logon"

我想问的是Qt在哪里设置能让sys账户以sysdba的身份登录,因为我知道在oracle自带的sql plus登录对话框
的主机字符串一栏中只要这样指定:orcl as sysdba即可。

请问哪位大侠遇到过这种问题,麻烦指导一下,谢谢。
离线aesoplord

只看该作者 1楼 发表于: 2010-11-21
或者说有什么其他等效的方法,请大家都不吝赐教,谢谢。
离线aesoplord

只看该作者 2楼 发表于: 2010-11-22
这个问题我自己摸索着解决了,先用sys以sysdba身份登录,再把scott用户启用,就可以了。

因为Qt使用的是normal身份登录的oracle数据库。


我想Qt没开放sysdba的接口可能是Qt开发者考虑程序员们编程过程中不会用这个吧。

刚接触Oracle,个人的一点愚见。呵呵。有熟悉这些的大侠们多指点一下。谢谢。
快速回复
限100 字节
 
上一个 下一个