我安装了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
请问哪位大侠能帮助我解决下,困惑我好久了。
谢谢