VS2019をMySQLデータベースに接続するプロセスと一般的な問題の概要

VS2019をMySQLデータベースに接続するプロセスと一般的な問題の概要

今日の午後からVS2019をMySQLで使えるのではないかと思い、いろいろ環境構築を始めました。プロセス中に多くのエラーが発生し、以下に示すように午後 9 時頃に構成が成功しました。

次に、具体的な手順について説明します。

(1)まず、VS2019とMySQLソフトウェアを準備します。これらはそれぞれの公式サイトから入手できるので、ここでは繰り返しません。

(2)MySQLのインストールディレクトリを探し、図に示すようにこれらの2つのフォルダを見つけます。

(3)新規プロジェクトを作成したら、以下の構成環境を準備するためにmain.cppファイルを作成します。

(4) プロジェクトプロパティを開き、VC++ ディレクトリをクリックし、インクルードディレクトリで、次の図に示すように、MySQL インストールディレクトリのインクルードファイルパスを追加します。

(5)プロパティページでC/C++を開き、全般を選択し、上記と同じ手順に従い、MySQLファイル内のインクルードファイルパスを追加のインクルードディレクトリに追加します。

ここに画像の説明を挿入

(6)プロパティページで、「リンカーオプション」をクリックし、「全般」をクリックして、MySQLインストールディレクトリの下のlibパスを追加ライブラリディレクトリにコピーします。

ここに画像の説明を挿入

(7) プロパティページのリンカーで続行し、入力オプションをクリックして libmysql.lib ファイルを追加します。libmysql.lib という名前をコピーするだけで、パスを追加する必要がないことに注意してください。同様に、このファイルも mydql インストール フォルダーの lib ディレクトリにあります。

ここに画像の説明を挿入

(8)プロパティページの上部にあるプラットフォームを確認し、x64を選択します。x32ではエラーが発生する可能性があります。

ここに画像の説明を挿入

(9) MySQLインストールディレクトリのbin\libmysql.dllをc:\windows\system32にコピーします。

ここに画像の説明を挿入

ここに画像の説明を挿入

このインストールが完了したら、テスト コードを記述できます。テストコードは次のとおりです。

#include <stdio.h>
#include <iostream>
#include "my_global.h"
#include "mysql.h"
名前空間 std を使用します。
int メイン()
{
	cout << "hello world!" << endl;
	MYSQLmysql;
	MYSQL_RES* 解像度;
	MYSQL_ROW 行;
	mysql_init(&mysql);
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
	//注: パラメータは正確である必要があります。
	// 2 番目のパラメータはホスト アドレス localhost、3 番目のパラメータはユーザー名です // 4 番目のパラメータはユーザー パスワード、5 番目のパラメータは接続されたデータベースです // 6 番目のパラメータは MySQL ポート番号 3306 です
	if (mysql_real_connect(&mysql, "localhost", "root", "123456",
		"myemployees", 3306, NULL, 0) == NULL) 
	{
		cout << (mysql_error(&mysql));
	}
	mysql_query(&mysql, "myemployees.employees から * を選択");
	res = mysql_store_result(&mysql);
	// データを表示します // ROW に値を割り当て、ROW が空かどうかを判断し、空でない場合はデータを出力します。
	(行 = mysql_fetch_row(res)) の間
	{
		printf("%s ", row[0]); //IDを印刷
		printf("%s ", row[1]); //IDを印刷
		cout << 終了;
	}
	//結果セットを解放します。mysql_free_result(res);
	//データベースを閉じます mysql_close(&mysql);
	//停止してgetchar()を待機します。
	システム("一時停止");
	0を返します。
}

操作中に、次の図のようなエラーが発生した場合は、構成環境変数を確認する必要があります。

1. プロジェクトを右クリックし、VC++ ディレクトリ構成を確認します。

2. リンカーの入力オプションを確認する

(3)プロジェクトの.cppフォルダに「libmysql.dllとlibmysql.lib」ファイルを配置します。

これら 3 つの手順で、ほとんどの特定の問題をチェックできます。

MySQL パラメータに注意してください。間違えると、次のメッセージが表示される場合があります: ユーザー 'ODBC'@'localhost' のアクセスが拒否されました (パスワード使用: NO)。mysql bin ディレクトリに移動して、次のコマンドを入力します:

mysql -u root -p で、データベースのユーザー名とパスワードが正しいかどうかを確認します。正しい入力は以下のとおりです。

VS2019 を MySQL データベースに接続する際によくある問題をまとめたこの記事はこれで終わりです。VS2019 を MySQL データベースに接続することに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。皆様が今後も 123WORDPRESS.COM を応援してくれることを願っています。

以下もご興味があるかもしれません:
  • VS2019 が mysql8.0 データベースに接続する方法 (画像とテキスト付き)

<<:  HTMLページの読み込み速度を上げる方法

>>:  レスポンシブ Web をデザインするにはどうすればいいですか?レスポンシブウェブデザインのメリットとデメリット

推薦する

MySQLカスケードレプリケーションの実装方法の例

いわゆるカスケード レプリケーションでは、マスター サーバーが 1 つのスレーブ サーバーにのみデー...

マルチコア CPU を使用して Linux コマンドを高速化する方法 (GNU Parallel)

非常に大量のデータ(数百 GB)を計算する必要があったことはありますか?または、その内部を検索したり...

Vueでデータを読み取るためにこれを悪用しないでください

目次序文1. これを使用してデータ内のデータを読み取るプロセス2. Dep.target はいつ存在...

ローカルでビルドした Docker イメージを Dockerhub に公開する方法

今日は、ローカルの Docker プロジェクト イメージを dockerhub に公開する方法を紹介...

MySQL 5.7 以降のバージョンのダウンロードとインストールのグラフィック チュートリアル

1. ダウンロード1. MySQL公式サイトのダウンロードアドレス: https://downloa...

Javascript を使用して、スライドバー効果のあるスライドナビゲーション プラグインを開発します。

目次1. はじめに2. 使用方法3. 開発プロセス1. モデル例2. イベントとアニメーション4. ...

SQL重複排除方法の概要

SQL を使用してデータを抽出する場合、テーブル内で重複した値に遭遇することがよくあります。たとえ...

Navicat による MySQL パーティショニングの実践

MySQLのパーティショニングは、非常に大きなテーブルを管理するのに役立ちます。MySQLのパーティ...

Docker ケース分析: MySQL データベース サービスの構築

目次1 設定ディレクトリとデータディレクトリを作成する3 イメージからホストに構成ファイルをコピーす...

カルーセル効果を実現するネイティブJavaScript

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

HTML ページにミュージック ビデオを追加する例

1. ビデオタグFirefoxでは自動再生をサポートしますが、GoogleとIEではサポートしません...

LinuxスレッドのPID(TID、LWP)を取得するいくつかの方法の詳細な説明

Linux C/C++ では、スレッド レベルの操作は通常、pthread ライブラリを通じて実行さ...

Reactの二次連携を実現する方法

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

テーブルを作成するための HTML dl、dt、dd タグとテーブル作成テーブル

ウェブサイトの開発とメンテナンスのコストが削減されるだけでなく、コードもよりセマンティックになります...

どのような種類の MYSQL 接続クエリを知っていますか?

序文クエリ情報が複数のテーブルから取得される場合、クエリのためにこれらのテーブルを結合する必要があり...