成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何解決Qt Mysql中無法加載驅(qū)動問題

移動開發(fā)
目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。

本文講解是如何解決Qt Mysql中無法加載驅(qū)動問題,MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。對于已經(jīng)融入到Qt中的MySQL,也是很推廣!那么先看本文的介紹。

做畢業(yè),這兩天一個(gè)很大的問題困惑的我不行。畢設(shè)我是用qt + mysql來做的。結(jié)果在自己電腦上跑起來很正常,但是編譯一個(gè)release版本,拿到另外一臺電腦上就報(bào)錯(cuò)說:can't load driver 。試圖去解決這個(gè)問題,今天總算搞定,這里總結(jié)一下。

首先需要說明的是:我用的是qt for vc2005,qt4.5.0 mysql server5.5

整個(gè)流程:

1:首先我編譯了一個(gè)release版本,而后用dependency walker查看了下庫的依賴情況。發(fā)現(xiàn)依賴于:QtSql4.dll,QtGui4.dll,QtCore4.dll,msvcr80.dll以及KERNEL32.DLL這幾個(gè)庫。其中最后一個(gè)是system的,我們不用去管,剩下的這幾個(gè)顯然都需要拷貝到exe同目錄下。尤其是msvcr80.dll,我在我電腦上搜了一下:有多大10幾個(gè)同名的該文件,所以拷貝哪個(gè)是很重要的,此時(shí)我們只需要在dependency walker查看這個(gè)dll的屬性,然后去對應(yīng)目錄底下拷貝就行了。所以:第一步就是把這些依賴庫拷貝到exe同目錄下。(千萬不要拷貝錯(cuò)誤,尤其是不同的版本)。

2、做完1之后再次運(yùn)行,提示:找不到驅(qū)動。 問了一下別人,告之需如下做:

(1)首先在exe同目錄下建一個(gè)plugins\sqldrivers這樣的二級目錄,而后將前邊編譯生成的qt-mysql驅(qū)動:qsqlmysql4.dll放到里邊。

(2)而后在main.cpp中加上如下兩句:

  1. QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+  
  2. "plugins");   
  3. qApp.addLibraryPath(strLibPath); 

做完這兩部之后:按理應(yīng)該沒問題了,但是run一下發(fā)現(xiàn):還是提示驅(qū)動找不到。

3、再后來,上網(wǎng)查了一下各種說法,發(fā)現(xiàn)幾種可能性:①你要發(fā)布的電腦上沒有安裝mysql  ②mysql版本不對。  我就納悶了:找不到驅(qū)動與裝沒裝mysql有什么關(guān)系?畢竟:驅(qū)動是我自己編譯的,又不是mysql提供的。  問了下別人,別人也這么認(rèn)為。然后就卡在這里了。  我不死心,繼續(xù)在網(wǎng)上尋找各種可能的答案并進(jìn)行嘗試。最后找了問題,原來:我們需要把mysql提供的:libmySQL.dll這個(gè)庫拷貝到exe同目錄下(該文件在我自己電腦上處于:C:\Program Files\MySQL\MySQL Server 5.5\bin文件夾下)。如此之后再來運(yùn)行就不再報(bào):找不到驅(qū)動這個(gè)錯(cuò)誤啦!(此時(shí)報(bào)的是:連接不到某個(gè)指定的數(shù)據(jù)庫,那是因?yàn)槲疫€沒有把數(shù)據(jù)庫文件導(dǎo)入到目標(biāo)機(jī)器上來)。

總結(jié):在其他pc上發(fā)布的時(shí)候需要做如下工作:

1、使用depenency walker查看依賴庫,全部拷貝到exe同文件夾下。

2、(1)在exe同目錄下建一個(gè)plugins\sqldrivers這樣的二級目錄,而后將前邊編譯生成的qt-mysql驅(qū)動:qsqlmysql4.dll放到里邊。

(2)而后在main.cpp中加上如下兩句:

  1. QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+  
  2. "plugins");   
  3. qApp.addLibraryPath(strLibPath); 

3、將mysql/bin目錄下的libmySQL.dll拷貝到exe同目錄下。

做完以上幾步之后就OK了。

至于最后所報(bào)的連接不到指定的數(shù)據(jù)庫,原因是這樣的:

在開發(fā)的電腦上:你建了一個(gè)mysql數(shù)據(jù)庫,那么我們需要把這個(gè)數(shù)據(jù)庫文件也拷貝到目標(biāo)機(jī)器上,并在目標(biāo)機(jī)器上裝mysql,而后將這個(gè)數(shù)據(jù)庫文件導(dǎo)入進(jìn)去。 導(dǎo)入之后你會發(fā)現(xiàn):各字段的數(shù)據(jù)有可能出現(xiàn)亂碼,這是由于各個(gè)字段的編碼格式在開發(fā)機(jī)器和目標(biāo)機(jī)器上不一致 導(dǎo)致的! 你需要按照開發(fā)機(jī)器上的數(shù)據(jù)庫文件配置來重新設(shè)置一下目標(biāo)機(jī)器的各個(gè)字段編碼格式。

而在目標(biāo)機(jī)器上導(dǎo)入數(shù)據(jù)庫文件的方法是:(以建立的數(shù)據(jù)路名為buaa.sql為例)

1、在目標(biāo)機(jī)器上裝mysql

2、命令行運(yùn)行mysql,進(jìn)入后執(zhí)行命令:create database buaa;

3、導(dǎo)入buaa.sql到剛創(chuàng)建的buaa數(shù)據(jù)庫中。(我用的mysql-front這個(gè)數(shù)據(jù)庫圖形化工具)。

測試: Qt4.5.0commercial  + vc2005 express + mysql5.5 +mysql-front +windows xp

(網(wǎng)上很多人說:找不到驅(qū)動是因?yàn)槟繕?biāo)機(jī)器上沒有安裝vc運(yùn)行時(shí)庫的原因,但是我這里沒有遇到這個(gè)問題:我測試的電腦沒有任何vc環(huán)境,沒有任何qt環(huán)境,也沒有安裝windows sdk。 但是如果大家按照我上邊的方法測試發(fā)現(xiàn)有問題時(shí):可以考慮在目標(biāo)機(jī)器上安裝vc運(yùn)行時(shí)庫試一下。它分sp1版本和 非sp1版本,你對應(yīng)主機(jī)的vc版本選擇一個(gè)安裝就是。)

小結(jié):關(guān)于如何解決Qt Mysql中無法加載驅(qū)動問題,介紹完了,好像出現(xiàn)此問題的友們還是有很多滴,希望本文對你有所幫助。

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2013-12-16 11:01:08

OpenSUSEOpenSUSE 12VirtualBox

2013-08-16 10:04:46

OpenSUSE 12VirtualBox

2011-06-21 16:13:51

Qt Oracle 驅(qū)動

2010-06-01 14:51:45

MySQL驅(qū)動

2021-10-20 20:27:55

MySQL死鎖并發(fā)

2010-08-25 13:06:53

IP地址故障

2009-12-11 13:33:14

PHP無法修改head

2023-10-30 18:35:47

MySQL主從延時(shí)

2019-03-20 10:35:53

附近共享Windows 10運(yùn)行

2025-02-11 12:29:58

2011-05-06 11:31:17

打印機(jī)故障

2009-06-11 11:50:00

netbeans jd

2024-01-10 09:44:11

MySQL死鎖

2024-12-05 09:06:58

2013-06-26 16:14:26

Android加載圖片內(nèi)存溢出

2012-09-05 11:09:15

SELinux操作系統(tǒng)

2010-08-26 08:56:34

2011-08-18 17:20:21

IOS開發(fā)TableView圖片

2011-08-08 10:29:12

MySQL

2010-04-29 17:46:31

Oracle死鎖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产日产久久高清欧美一区 | 日本精品视频一区二区三区四区 | 第一福利社区1024 | 久久精品成人 | 中文在线一区 | 日韩精品一区二区三区在线观看 | 国产精品免费一区二区三区 | 国产综合精品一区二区三区 | 美美女高清毛片视频免费观看 | 91高清视频在线观看 | 午夜免费影视 | 免费国产黄网站在线观看视频 | 亚洲一二视频 | 日韩欧美在线不卡 | 亚洲一区 中文字幕 | av片免费| 亚洲精品字幕 | 日本不卡高清视频 | 一区二区三区精品视频 | 欧美日韩一区二区在线观看 | 欧美第一页 | 激情久久av一区av二区av三区 | 亚洲国产精品福利 | 天天操夜夜操 | 国产四区 | 亚洲成人在线视频播放 | av网站免费看| 91综合网 | 欧美成人一区二免费视频软件 | a级毛片免费高清视频 | 欧美在线一区二区三区四区 | 精品成人免费视频 | 精品久久精品 | 免费一区 | 中文字幕91 | 在线一区 | 久久久xxx| 国产精品日韩在线观看 | 亚洲精品一区二区网址 | 日韩中文不卡 | 国产精品久久久久久久午夜 |