您尚未登录。

楼主 # 2021-07-08 15:50:13

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

V3S连接远程数据库出错

使用Qt5.4.1开发的应用程序,在windows  PC上debug可以连上sql server 数据库

将工程放到Ubuntu下qt creator编译产生可执行文件,再将该文件放入V3S开发板中执行出现

QSqlDatabase: QODBC driver not loaded
QSqlDatabase: available drivers:


请问如何在开发板添加QODBC driver

离线

#1 2021-07-08 15:53:54

哇酷小二
管理员
注册时间: 2020-04-22
已发帖子: 2,452
积分: 1902

Re: V3S连接远程数据库出错

没有编译odbc插件,或者插件路径没设置正确

在线

楼主 #2 2021-07-08 16:35:21

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

参考https://blog.csdn.net/muzi_csd/article/details/23477393

产生了/usr/local/生成unixODBC-arm 目录

/usr/local/qt5.4.1/bin/qmake "INCLUDEPATH+=/usr/local/unixODBC-arm/include" "LIBS+=-L/usr/local/unixODBC-arm/lib -lodbc" odbc.pro

Cannot find file: odbc.pro.

离线

楼主 #3 2021-07-08 16:35:51

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

哇酷小二 说:

没有编译odbc插件,或者插件路径没设置正确



是没有装odbc插件,感谢

离线

楼主 #4 2021-07-08 16:38:42

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

542396750@qq.com 说:

参考https://blog.csdn.net/muzi_csd/article/details/23477393

产生了/usr/local/生成unixODBC-arm 目录

/usr/local/qt5.4.1/bin/qmake "INCLUDEPATH+=/usr/local/unixODBC-arm/include" "LIBS+=-L/usr/local/unixODBC-arm/lib -lodbc" odbc.pro

Cannot find file: odbc.pro.


odbc.pro是不是我应用程序的工程目录里面的.pro

离线

#5 2021-07-08 16:42:24

哇酷小二
管理员
注册时间: 2020-04-22
已发帖子: 2,452
积分: 1902

Re: V3S连接远程数据库出错

用buildroot勾选编译比较方便,自己编译会比较麻烦的。

在线

楼主 #6 2021-07-08 16:47:01

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

哇酷小二 说:

用buildroot勾选编译比较方便,自己编译会比较麻烦的。

QQ图片20210708164527.png

是这个吗?

离线

楼主 #7 2021-07-08 16:53:01

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

542396750@qq.com 说:
哇酷小二 说:

用buildroot勾选编译比较方便,自己编译会比较麻烦的。

https://whycan.com/files/members/6244/QQ图片20210708164527.png

是这个吗?


找到了target package-》library-》database-》unixodbc

离线

楼主 #8 2021-07-22 11:03:59

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

按照http://blog.sina.com.cn/s/blog_8d004f070102vgcr.html
重新折腾了好几天,测试freedtds中tsql可以连接到MS数据库,但交叉编译unixodbc后,在移植freetds时,.configure加上--with-unixodbc=/usr/local/unixodbc

报错
./configure: line 16574: /usr/local/arm/unixODBC/bin/odbc_config: cannot execute binary file: Exec format error
./configure: line 16575: /usr/local/arm/unixODBC/bin/odbc_config: cannot execute binary file: Exec format error
configure: error: /sql.h not found

意思是unixODBC中的bin文件是32位的,在Ubuntu下执行不了,不知其他人是怎么通过的,是不是Ubuntu安装支持32位的库就可以解决?

离线

楼主 #9 2021-07-22 15:49:20

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

sudo apt update
sudo apt install qemu-user-static
sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic '\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00' --mask '\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xf8\xff\xff\xff\xff\xff\xff\xff

sudo service binfmt-support start
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install gcc:i386

一系列操作之后,报错各种链接库缺失,收到将buildroot/target/lib中的libc.so.6,pthread.so.0,ld-linux-armhf.so.3拷贝到/lib下
./configure  配置完成
执行make&&make install,终于得到  libtdsodbc.so

离线

楼主 #10 2021-07-22 15:49:44

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

# ./isql -v QTDSN sa 123456
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select * from goods
+-----------------+---------------------+----------------------+------+---------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+-----------------+------------+-----------+----------------------+----------------------+
| GID             | GName               | GPrice               | GUnit| GProvider1                                        | GProvider2                                        | GDescribe                                                                                                                                                                                                                                                                                                   | STKQuantity             | lotno           | productDate| expireDate| outprice             | outprice2            |
+-----------------+---------------------+----------------------+------+---------------------------------------------------+---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------+-----------------+------------+-----------+----------------------+----------------------+
| 123444          | 我得我              | 3.00                 | t    | 收到

离线

楼主 #11 2021-07-22 15:51:35

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

以上显示使用isql可以访问到PC中的数据源QTDSN,ODBC数据源设置自行百度,目前qt 应用程序调用不对,还需要解决

离线

楼主 #12 2021-07-22 15:54:47

542396750@qq.com
会员
注册时间: 2021-03-26
已发帖子: 60
积分: 10

Re: V3S连接远程数据库出错

freeTDS也可以正确访问数据源,证明 freetds和unixodbc都是通的,现在只是qt调用不对,重新按新的路径拷贝plugins/sqlservers中的库文件进入试试

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn