各位兄弟
我在用QtSql连接到Sybase Adaptive Server Anywhere 9时,遇到一个问题,请各位不吝赐教。
我用的是Qt是Qt 4.5(安装的是qt-sdk-win-opensource-2009.03.1.exe, 重新用vs.net编译的).
根据Qt的文档,我自己编译了QDTS驱动,(使用的是Sybase Open Client)
启动数据库服务器的命令如下
"C:\Program Files\Sybase\SQL Anywhere 9\win32\dbsrv9.exe" "C:\MYDB.db" -n MYDB
测试代码如下
#include <QApplication>
#include <QtSql>
int main(int argc,char **argv)
{
QApplication app(argc,argv);
QSqlDatabase db=QSqlDatabase::addDatabase("QTDS");
if(!db.isValid())
{
qDebug()<<"QTDS driver is not valid";
return 0;
}
db.setHostName("localhost");
db.setDatabaseName("MYDB");
db.setUserName("dba");
db.setPassword("sql");
db.setPort(2638);
if(db.open())
{
qDebug()<<"OK, database connected";
db.close();
}
else
{
qDebug()<<"Error : "<<db.lastError().text();
}
return 0;
}
程序的输出如下
QTDSDriver error (20012): [Specified server name attribute could not be found] [There is no OS level error]
Error : " QTDS: Unable to open connection"
不知道是哪里出了问题,请各位赐教。
谢谢