• 4403阅读
  • 0回复

请教QODBC连接oracle9i [复制链接]

上一主题 下一主题
离线liqing804240
 

只看楼主 倒序阅读 楼主  发表于: 2009-09-23
我安装了UNIXODBC  easysoft的Easysoft ODBC-Oracle Driver,
我的odbc.ini
[ODBC Data Sources]
test        = Oracle ODBC Driver DSN

[default]
Driver        = /usr/local/easysoft/oracle/libesoracle.so

[test]
Driver        = /usr/local/easysoft/oracle/libesoracle.so
DSN        = test
Description        = Oracle
server        = 192.168.105.188
ServerType        = Oracle
Port        = 1521
User        = liqing
Password        = teg
Database        = ats
SID        = ats
METADATA_ID        = 0
ENABLE_USER_CATALOG        = 1
ENABLE_SYNONYMS        = 1

[default]
Driver        = /usr/local/easysoft/oracle/libesoracle.so

[ORACLE]
Driver        = ORACLE
Database        = ora9i
User        = liqing
Password        = teg
METADATA_ID        = 0
ENABLE_USER_CATALOG        = 1
ENABLE_SYNONYMS        = 1
我的odbcinst.ini
[test]
Description        = Easysoft ODBC Oracle Driver
Driver        = /usr/local/easysoft/oracle/libesoracle.so
Setup        = /usr/local/easysoft/oracle/libesoraclesetup.so
DontDLClose        = 1
FileUsage        = 1

[ODBC]
Trace        = 1
Debug        = 1
Pooling        = No

[ORACLE]
Description        = Easysoft ODBC Oracle Driver
Driver        = /usr/local/easysoft/oracle/libesoracle.so
Setup        = /usr/local/easysoft/oracle/libesoraclesetup.so
DontDLClose        = 1
FileUsage        = 1
UsageCount        = 1
我的qt源码
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3");
db.setDatabaseName("test");
//db.setDatabaseName(QString::fromLocal8Bit("test"));
//即使dsn中已经设置了UID和PASSWD,仍然需要执行setUserName和setPassword的步骤
db.setUserName("liqing");
db.setPassword("teg");
if(!db.open()) {
        QMessageBox::critical(0,QLabel::trUtf8("数据库连接失败"),db.lastError().text());
    return false;
}
return true;
程序报的错误:
[unixODBC][Easysoft][Oracle]Could not load oracle libraries [unixODBC][Easysoft][Oracle]ORACLE_HOME environment variable not set. QODBC3: Unable to connect

请问哪位大侠能帮助我解决下,困惑我好久了。
谢谢
快速回复
限100 字节
 
上一个 下一个