• 8906阅读
  • 12回复

还是QT连接sybase 的问题 [复制链接]

上一主题 下一主题
离线czzhf
 

只看楼主 倒序阅读 楼主  发表于: 2013-01-22
关键词: QT4数据库QTDS
版主,你好,我又来了求助
我觉得用ODBC连接sybase的话,发布的程序想要在其他电脑上运行还需要再安装ODBC驱动,有些不便。
这次我尝试用QTDS连接sybase。
我按照帮助里的方法:
" cd %QTDIR%\src\plugins\sqldrivers\tds
qmake "LIBS+=NTWDBLIB.LIB" tds.pro
nmake
"
结果在nmake的时候出错了:
大量的重定义错误winsock.h、winsock2.h和ws2def.h。。无法打开包括文件"sqlfront.h"...
现在两眼茫茫啊。。。。


ps:这次的qt版本是我自己静态编译的4.8.0.。。。在编译的时候configue参数中没有包含QTDS。
是参考http://blog.csdn.net/vbskj/article/details/7792163编译的。

附件: error.txt (18 K) 下载次数:1
离线XChinux

只看该作者 1楼 发表于: 2013-01-23
ntwdblib好老了,还不如用freetds吧.
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线czzhf

只看该作者 2楼 发表于: 2013-01-24
回 1楼(XChinux) 的帖子
版主大大,Freeds好像是用在Linux和Unix上的,我现在用的系统是win7,准备开发的程序也是在windows环境上运行。。。
离线XChinux

只看该作者 3楼 发表于: 2013-01-24
ntwdblib很老了,很久以前用过(2006年)连接MSSQL2000,很不好用,后来转用ODBC连接MSSQL2000.
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 4楼 发表于: 2013-01-24
不知道我记得对不对,你找个MSSQL2000的安装光盘,里面有编译qsqltds插件所需的头文件和库文件.编译完后将ntwdblib.dll拷贝到你程序目录下就能用了.
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线czzhf

只看该作者 5楼 发表于: 2013-01-24
回 4楼(XChinux) 的帖子
谢谢了,我去找找试试看
离线czzhf

只看该作者 6楼 发表于: 2013-01-26
回 4楼(XChinux) 的帖子
版主,顺便问个问题:
freetds是也是用来连接sybase的,我想学学,但是教程比较少,而且是C写的。。。我习惯c++了,对c感到不太熟悉。
用c++来连接sybase有什么好办法么?
离线czzhf

只看该作者 7楼 发表于: 2013-02-21
前几天总算有空把QTDS的驱动编译出来了,可又纠结连接数据库的问题了。
QSqlDatabase db = QSqlDatabase::addDatabase("QTDS");
db.setHostName("127.0.0.1");
db.setPort(5000);
db.setDatabaseName("test");
db.setUserName("sa");
db.setPassword("");
然后db.open总是失败。。。
报错为QTDS:Unable to open connection.
实在是纠结,弄得都有些精疲力尽了。。。
离线XChinux

只看该作者 8楼 发表于: 2013-02-21
还是搞ODBC省事吧。就是打包时要将Sybase驱动安装包打包进去。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线czzhf

只看该作者 9楼 发表于: 2013-02-22
回 8楼(XChinux) 的帖子
的确的确,不纠结了,谢谢版主大大的帮助
离线ayanamiyf

只看该作者 10楼 发表于: 2014-03-29
回 czzhf 的帖子
czzhf:前几天总算有空把QTDS的驱动编译出来了,可又纠结连接数据库的问题了。
QSqlDatabase db = QSqlDatabase::addDatabase("QTDS");
db.setHostName("127.0.0.1");
db.setPort(5000);
db.setDatabaseName("test");
....... (2013-02-21 10:48) 

请问你是怎么编译成功的啊,我和你一样的错误,是不是只需要ntwdblib.dll就可以编译了,还是必须安装sql server2000?
离线XChinux

只看该作者 11楼 发表于: 2014-03-29
回 ayanamiyf 的帖子
ayanamiyf:请问你是怎么编译成功的啊,我和你一样的错误,是不是只需要ntwdblib.dll就可以编译了,还是必须安装sql server2000? (2014-03-29 10:57) 

不是每装。是要它里面的头文件和库文件来帮助编译QTDs
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线ayanamiyf

只看该作者 12楼 发表于: 2014-03-31
多谢版主。
快速回复
限100 字节
 
上一个 下一个