qtmysql驅動程序的簡單介紹

本文目錄一覽:

qt5.7怎麼安裝mysql驅動

方法/步驟

1

下載mysql

C鏈接庫

選擇C的鏈接庫

2

將C的連接庫解壓到到C:/mysql

目錄下

3

我的QT

安裝在C盤目錄下,版本號是4.8.6

所以打開目錄

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

4

將C:/mysql/lib/libmysql.dll

和C:/mysql/lib/libmysql.lib

複製到此處。

5

編輯目錄下的mysql.pro文件

添加

INCLUDEPATH+=”C:/mysql/include”

LIBS+=”C:/mysql/lib/opt/libmysql.lib”

運行qt的控制台窗口,方便使用qmake

切換到目錄下

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

執行qmake

運行VS2010的控制台工具

切換到

C:\QT\4.8.6\src\plugins\sqldrivers\mysql

目錄下

執行nmake

和nmake

release

是nmake不是make

這樣在C:\QT\4.8.6\src\plugins\sqldrivers\mysql

目錄下的debug

目錄和release

目錄下分別會產生

qsqlmysqld4.dll

qsqlmysqld4.lib

qsqlmysql4.dll

qsqlmysql4.lib

將上面提到的四個文件複製到

C:\QT\4.8.6\plugins\sqldrivers

最後把

C:\mysql\lib\opt\libmysql.dll

C:\mysql\lib\opt\libmysql.lib

複製到

C:\Windows\system32\

目錄下。

最後測試mysql

可不可以在qt中正常使用

新建一個qt

控制台項目

輸入以下代碼

#include

QCoreApplication

#include

QDebug

#include

qstring.h

#include

qstringlist.h

#include

qsql.h

#include

qsqldatabase.hint

main(int

argc,

char

*argv[])

{

QCoreApplication

a(argc,

argv);

qDebug()

“Available

drivers:”;

QStringList

drivers

=

QSqlDatabase::drivers();qDebug()

drivers;return

a.exec();

}

運行測試一下,看看有沒有圖片中紅圈圈中的兩項內容

【求助】QT註冊mysql驅動程序出現的問題

哈哈,我也遇到了你的這個問題,我把我的解決方法給你,希望對你有用。

(1)dos下進入:D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql

(2)用記事本打開D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\ mysql.pro文件,在第二行加入:

INCLUDEPATH += “C:\Program Files\MySQL\MySQL Server 5.1\include”

LIBS += “C:\Program Files\MySQL\MySQL Server 5.1\lib\opt\libmysql.lib”

並保存

(3)在dos下輸入:qmake -o Makefile mysql.pro

此時可能也會提示:

WARNING: d:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba

ckslashes are deprecated.

WARNING: d:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba

ckslashes are deprecated.

WARNING: d:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped ba

ckslashes are deprecated.

但是好像對最後的結果沒有影響

(4)在dos下輸入:mingw32-make(使用nmake或者是make提示不是內部或外部命令,所以用了這個命令)

(5)此時在D:\Qt\2010.05\qt\plugins\sqldrivers下多了四個文件:

qsqlmysql4.dll

libqsqlmysql4.a

qsqlmysqld4.dll

libqsqlmysqld4.a

(6)此時再運行程序應該就可以了。

如果還不行的話:將C:\Program Files\MySQL\MySQL Server 5.1\lib\opt\libmysql.dll複製到運行程序所在目錄或者system32目錄

祝你好運!

如何解決Qt Mysql中無法加載驅動問題

本文講解是如何解決Qt Mysql中無法加載驅動問題,MySQL是一個小型關係型數據庫管理系統。對於已經融入到Qt中的MySQL,也是很推廣!那麼先看本文的介紹。

做畢業,這兩天一個很大的問題困惑的我不行。畢設我是用qt + mysql來做的。結果在自己電腦上跑起來很正常,但是編譯一個release版本,拿到另外一台電腦上就報錯說:can’t load driver 。試圖去解決這個問題,今天總算搞定,這裡總結一下。

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

整個流程:

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

2、做完1之後再次運行,提示:找不到驅動。 問了一下別人,告之需如下做:

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

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

QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+ “plugins”); qApp.addLibraryPath(strLibPath);

做完這兩部之後:按理應該沒問題了,但是run一下發現:還是提示驅動找不到。

3、再後來,上網查了一下各種說法,發現幾種可能性:①你要發布的電腦上沒有安裝mysql ②mysql版本不對。 我就納悶了:找不到驅動與裝沒裝mysql有什麼關係?畢竟:驅動是我自己編譯的,又不是mysql提供的。 問了下別人,別人也這麼認為。然後就卡在這裡了。 我不死心,繼續在網上尋找各種可能的答案並進行嘗試。最後找了問題,原來:我們需要把mysql提供的:libmySQL.dll這個庫拷貝到exe同目錄下(該文件在我自己電腦上處於:C:\Program Files\MySQL\MySQL Server 5.5\bin文件夾下)。如此之後再來運行就不再報:找不到驅動這個錯誤啦!(此時報的是:連接不到某個指定的數據庫,那是因為我還沒有把數據庫文件導入到目標機器上來)。

總結:在其他pc上發布的時候需要做如下工作:

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

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

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

QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+ “plugins”); qApp.addLibraryPath(strLibPath);

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

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

至於最後所報的連接不到指定的數據庫,原因是這樣的:

在開發的電腦上:你建了一個mysql數據庫,那麼我們需要把這個數據庫文件也拷貝到目標機器上,並在目標機器上裝mysql,而後將這個數據庫文件導入進去。 導入之後你會發現:各字段的數據有可能出現亂碼,這是由於各個字段的編碼格式在開發機器和目標機器上不一致 導致的! 你需要按照開發機器上的數據庫文件配置來重新設置一下目標機器的各個字段編碼格式。

而在目標機器上導入數據庫文件的方法是:(以建立的數據路名為buaa.sql為例)

1、在目標機器上裝mysql

2、命令行運行mysql,進入後執行命令:create database buaa;

3、導入buaa.sql到剛創建的buaa數據庫中。(我用的mysql-front這個數據庫圖形化工具)。

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

(網上很多人說:找不到驅動是因為目標機器上沒有安裝vc運行時庫的原因,但是我這裡沒有遇到這個問題:我測試的電腦沒有任何vc環境,沒有任何qt環境,也沒有安裝windows sdk。 但是如果大家按照我上邊的方法測試發現有問題時:可以考慮在目標機器上安裝vc運行時庫試一下。它分sp1版本和 非sp1版本,你對應主機的vc版本選擇一個安裝就是。)

小結:關於如何解決Qt Mysql中無法加載驅動問題,介紹完了,好像出現此問題的友們還是有很多滴,希望本文對你有所幫助。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/291735.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-25 14:06
下一篇 2024-12-25 14:06

相關推薦

  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27
  • Guava Limiter——限流器的簡單易用

    本文將從多個維度對Guava Limiter進行詳細闡述,介紹其定義、使用方法、工作原理和案例應用等方面,並給出完整的代碼示例,希望能夠幫助讀者更好地了解和使用該庫。 一、定義 G…

    編程 2025-04-27
  • 2的32次方-1:一個看似簡單卻又複雜的數字

    對於計算機領域的人來說,2的32次方-1(也就是十進制下的4294967295)這個數字並不陌生。它經常被用來表示IPv4地址或者無符號32位整數的最大值。但實際上,這個數字卻包含…

    編程 2025-04-27
  • 製作一個簡單的管理系統的成本及實現

    想要製作一個簡單的管理系統,需要進行技術選型、開發、測試等過程,那麼這個過程會花費多少錢呢?我們將從多個方面來闡述製作一個簡單的管理系統的成本及實現。 一、技術選型 當我們開始思考…

    編程 2025-04-27

發表回復

登錄後才能評論