免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3855 | 回复: 18
打印 上一主题 下一主题

UnixODBC~~~~~~~~~~~~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-21 11:13 |只看该作者 |倒序浏览
我下载了一个UnixODBC2.2.1。。解压安装好了
打开以后我不知道如何设置了
我用QT3.0.3 需要一个QODBC3 。。我不知道这个东西从那来的。。就想通过UnixODBC来设定一个。。可是打开ODBC后名字起QODBC3   drivers 一栏怎么填?? 从那找需要的驱动??是找QT的还是什么的??

还是我找QODBC3 这个方法就是错误的??

论坛徽章:
0
2 [报告]
发表于 2005-11-21 13:02 |只看该作者
顶最后一次~~~

论坛徽章:
0
3 [报告]
发表于 2005-11-21 13:15 |只看该作者
qodbc是要自己编译的。

先到www.unixODBC.org下载数据库系统最新的驱动

然后编译插件。

cd $QTDIR/src/plugins/sqldrivers/odbc
    qmake "INCLUDEPATH+=/usr/local/unixODBC/include" "LIBS+=-L/usr/local/unixODBC/lib -lodbc"
    make

上面的/usr/local/unixODBC就是你下在后得到的东西。你连你用什么数据库系统都不说明,谁知道你要干什么呀。

论坛徽章:
0
4 [报告]
发表于 2005-11-21 13:30 |只看该作者
cd $QTDIR/src/plugins/sqldrivers/odbc

这句话什么意思??
$QTDIR

我用的是Mysql4.0

[root@localhost root]# cd $QTDIR/src/plugins/sqldrivers/odbc
bash: cd: /usr/lib/qt3-gcc2.96/src/plugins/sqldrivers/odbc: No such file or directory


是这样么??

[ 本帖最后由 yjqyml 于 2005-11-21 13:32 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2005-11-21 13:34 |只看该作者
$QTDIR

这是qt安装的目录。反正你只要找到qt的源代码所在的目录就可以了。

尽然是mysql,为什么还要用odbc加一个中间层呀,qt本身有个叫做QMYSQL地实现呀。如果你是考虑移植性的话,QT会为你保证的,在考虑移植性的前提下,尽量提高性能。

论坛徽章:
0
6 [报告]
发表于 2005-11-21 13:50 |只看该作者
db = QSqlDatabase::addDatabase( "QODBC3");
    //db = QSqlDatabase::addDatabase( "QPSQL7" );
    db->setPort( 5432 );
    db->setUserName( "postgres" );
    db->setPassword( "" );

    db->setDatabaseName( "metis" );

我的程序就是这样定义的。。自从Mysql 从3 升级到4。0后。。运行程序出现以下提示:
QSqldatabase : warning QMYSQL3 driver not loaded
QSqldatabase: available drivers : QODBC3

然后我查http://www.qiliang.net/qt/sql-driver.html#QODBC3


我想可能是Mysql 的某个地方设置错了。或忘了设定了。。但找不出来。不知道怎样找。。就想通过UnixOdbc 来试一下。。

[ 本帖最后由 yjqyml 于 2005-11-21 13:51 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2005-11-21 14:55 |只看该作者
QSqldatabase : warning QMYSQL3 driver not loaded
这可能是由于没有找不到libmysqlclient.so吧。

由于QMYSQL3必然依赖于mysqlclient,所以你要
确保qt库的插件文件目录底下有libqsqlmysql.so
这个文件大概位于/usr/lib/qt-xxx/plugins/sqldrivers/目录底下。

确保libmysqlclient.so在可以在路径里面找到,
如果没有,调整LD_LIBRARY_PATH环境变量。

你确定一下你现在都安装了mysql 和qt得什么包

论坛徽章:
0
8 [报告]
发表于 2005-11-21 15:37 |只看该作者
非常感谢。。
你能告所我怎么设置LD_LIBRARY_PATH变量么
/usr/lib/mysql/libmysqlclient.so

[root@localhost plugins]# cd /usr/lib/qt-3.0.3/plugins/sqldrivers/
[root@localhost sqldrivers]# ls
libqsqlmysql.so  libqsqlodbc.so  libqsqlpsql.so

-----------------------------------------------------------------

就像下面这样做:

在.profile文件(如果你的shell是bash、ksh、zsh或者sh)中,添加下面这些行:


    QTDIR=/usr/local/qt
    PATH=$QTDIR/binPATH
    MANPATH=$QTDIR/manMANPATH
    LD_LIBRARY_PATH=$QTDIR/libLD_LIBRARY_PATH

    export QTDIR PATH MANPATH LD_LIBRARY_PATH

在.login文件(如果你的shell是csh或者tcsh的情况下),添加下面这些行:


    setenv QTDIR /usr/local/qt
    setenv PATH $QTDIR/binPATH
    setenv MANPATH $QTDIR/manMANPATH
    setenv LD_LIBRARY_PATH $QTDIR/libLD_LIBRARY_PATH

以上所指的.profile文件和.login文件 是什么文件。。在那里找的到。。



    是(: $)

[ 本帖最后由 yjqyml 于 2005-11-21 15:39 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2005-11-21 15:45 |只看该作者
cd ~
切换到你的主目录
然后
ls -a

ls -A
.profile和.bashrc都是隐藏文件。

我的意思是想知道你的mysql都安装的是什么包。
如果是linux的话,用rpm -qa | grep mysql确定以下
rpm -qa | grep QT看一下。

论坛徽章:
0
10 [报告]
发表于 2005-11-21 15:56 |只看该作者
[root@localhost root]# rpm -qa | grep mysql
mysql-devel-3.23.49-3
mysqlclient9-3.23.22-6

[root@localhost root]# rpm -qa | grep QT
[root@localhost root]#

第二个什么都没显示

-----------------------------------------------------------
还有我用ls -a 没有.profile文件和.login文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP