問題タブ [mysql-connector]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - MySQL コネクタ/C++ ライブラリ リンク エラーの問題
問題:
わかりました。MySQL Forge Wiki のサンプル コードと、単純なデータベース接続を取得する方法に関するチュートリアルを提供している他の Web サイトをフォローしようとしましたが、何らかの理由で、私のプロジェクトは常にリンク エラーで失敗し、自分で修正する理由や方法がわかりません(まだ学習中です)。私を助けてください!プロジェクトのプロパティにヘッダー ファイルに必要なパス ディレクトリを含め、MySQL Connector/C++ で使用される lib ファイルへのパス ディレクトリを提供しました。私が使用しているコードは、誰かがそれを修正する方法について役立つヒント/コメントを私に与えることができれば、以下のとおりです。(リンクエラーのため)libファイルへの接続に関係があると思いますが、それを修正する解決策はわかりません。他の誰かがこのような問題を抱えていませんか?
http://forge.mysql.com/wiki/Connector_C++ http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html#createdb
コード:
エラー出力:
アップデート:
問題を解決する方法をようやく見つけたことをみんなに知らせたかっただけです。同様の問題を抱えている人は、http: //blog.ulf-wendel.de/?p=215#hello にアクセスして、mysqlcppconn.lib に動的に接続する方法の説明を読んでください。私の問題は、実際の環境をセットアップしてライブラリに正しく接続することでした。このチュートリアルは非常に役立ちました!
.net - MySQL コネクタのソース コードを変更して PC にインストールするにはどうすればよいですか?
要するに、コネクタのソースを変更して Windows にインストールするために必要な手順は何ですか?
私のマシンには MySQL Connector/.NET バージョン 6.1.2 がインストールされていますが、値が「0000-00-00」のすべての DateTime で例外が発生します。この例外により、アプリケーションが中断されます。
解決策として、コネクタのソース コードをダウンロードし、例外をスローする代わりに日付「0001-01-01 00:00:00」を返すように例外を変更しました。コードを変更し、DLL をコンパイルすることはできましたが (注: ConnectorNet への Assembly 参照をコメントアウトしました)、dll をコンピューターにインストールする方法がわかりません。カスタム DLL は厳密に型指定されていないため、グローバル アセンブリ キャッシュ内の DLL を単純に置き換えることはできないようです。
要するに、コネクタのソースを変更して Windows にインストールするために必要な手順は何ですか?
ありがとう。
c++ - 空でないテーブルに行を挿入するときのmySqlコネクタ例外(mysqlのC ++ライブラリ)
私はデータベースプログラミングをまったく行っていません。MySQL Connector /C++を使用するためのいくつかのサンプルコードから作業しています。
次のコードを実行すると、std :: stringコードの最後の行でクラッシュが発生しますが、テーブルが空でない場合にのみクラッシュします。テーブルが空の場合、行が挿入され、正常に機能します。テーブルが空でない場合、クラッシュします。私はかなり混乱しています。主キーまたは他の値で何か問題がありますか?(ここでは列名が変更されていますが、それ以外の場合、コードは逐語的です)
std :: stringテンプレートコードの変数を見ると(ほとんど見えません)、挿入しようとしたデータのなじみのある値が表示されないため、まったく役に立ちませんでした。文字列値として「HY000」のようなものが表示されますが、それがどこから来ているのかわかりません。
最初は日付文字列かもしれないと思っていましたが、コードは空のテーブルで正常に機能し、空でない場合はクラッシュします。これは、日付文字列が正常に機能していることを示しています。
これは、VisualStudio2008を使用するMSプラットフォーム上にあります。
データベースは稼働しており、他のデータベースクエリツールを使用してテーブルなどを表示できます。
編集:
取得したmysql例外を確認します。
「サポートされていないバッファタイプの使用:4191960(パラメータ:3)」errno 2036
編集:
受け入れられた答えが正確に正しい答えであったかどうかはわかりませんが、それは私が解決策にたどり着くのに役立ちました。基本的に、null以外の属性をすべて削除し、ゼロフィルを削除して、主キーを自動インクリメントに設定しました。今では正常に動作します
c++ - Connector /C++を使用してMySQLの行の値を更新するにはどうすればよいですか
単純なデータベースがあり、int値を更新したいと思います。最初にクエリを実行して、ResultSet(sql :: ResultSet)を取得します。結果セットの各エントリについて、テーブルの1つの特定の列にある値を変更し、それをデータベースに書き戻すか、その行のそのエントリを更新します。
ドキュメントに基づいて、それを行う方法は私には明確ではありません。更新とともに「Insert」ステートメントが表示され続けますが、それが必要だとは思いません。データのほとんどの行をそのまま保持したいので、1つの列を更新するだけです。
誰かが私にいくつかのサンプルコードまたは他の明確なリファレンス/リソースを教えてもらえますか?
編集:
または、特定のフィールド(行/列)を更新してint値をある値だけインクリメントするようにデータベースに指示する方法はありますか?
編集:
では、人々がC ++からMySQLを使用する典型的な方法は何ですか?Capiまたはmysql++を使用しますか?間違ったAPIを選択したと思います...
.net - .NET でリモート mysql サーバーに接続するにはどうすればよいですか?
VMWareでubuntuを使用しています。mysqlをインストールして実行しました。ユーザー root とパスワードでログインできます。VMボックスのIPを持っています。私のコードで私が書いた
MySql.Data の使用; return new MySql.Data.MySqlClient.MySqlConnection("username=root;data source=192.168.100.129,password=xyz");
データソースの代わりにサーバーも試しました。例外メッセージが表示されますUnable to connect to any of the specified MySQL hosts.
走っnetstat -an | grep -i mysql
て見た
unix 2 [ ACC ] STREAM LISTENING 23404 /var/run/mysqld/mysqld.sock
だから私はポートを追加しました= 23404; data source
と の両方を試しましserver
た。運がない。実際、仮想マシンでそのアドレスに ping を実行できます (ifconfig を使用してアドレスを取得しました)。だから私の問題は何ですか、どうすれば接続できますか? これを使用するのはこれが初めてです。私は過去に常にsqliteを使用していました。
java - Java を使用して SSH 経由でリモートの MySQL データベースに接続する
Java アプリケーションから SSH 経由でリモートの MySQL データベースに接続するにはどうすればよいですか? 小さなコード例は私にとって役に立ち、感謝しています。
mysql - 1対多のテーブルを反復処理すると結果が失われます
私のジレンマは、外部キーテーブルにアクセスするときにプライマリテーブルからResultSetを失うことです。別のテーブルをクエリするときに、最初のテーブルクエリの結果を保存する必要があります。
Scenerio:
レシピデータベースシステムを実装しています。各レシピには、1つから多くの材料を含めることができます。1対多の関係を解決するために、材料用に別のテーブルを作成しました。
私はレシピの表を持っています:
そして材料の表:
私のプログラムには、材料のベクトルを含むレシピオブジェクトがあります。
テーブル内のレシピで各反復に対してを実行するには、データベースからレシピをロードする必要があります。レシピを完成させるには、レシピに関連するすべての材料をロードする必要があります。
問題は、材料をロードすると、レシピの結果セットが失われることです。MySQLコネクタC++は、一度に1つの結果セットのみを処理できます。結果をコピーすることもできませんでした(テーブルのサイズが大きくなると、結果全体をロードしたくない場合があります)。
では、材料テーブルから検索してロードするときに、レシピテーブルへのカーソルまたはポインタを維持するにはどうすればよいですか?
これが私がやりたいことです:
- 表のレシピごとに、次のことを行います。
- レシピ結果の行データをレシピ変数に読み込みます。
- レシピIDを使用して、Recipe.ID_Recipe=Ingredient.ID_Recipeであるすべての材料を選択します。
- 材料テーブルからレシピ変数のベクトルに結果をロードします。
- レシピオブジェクトをコールバック関数に渡します。
- 表の次のレシピに進みます。
- End-for
提案を事前に感謝します。
(MySQL、MySQL Connector C ++、Visual Studio 2008-C ++を使用しています)
mysql - MySQLからイベントを発生させ、VB.NET(または同様のもの)から処理しますか?
MySQL5.1.39とVisualStudio2008を使用しており、両方をMySQL ConnectorNet6.1.2に接続しています。
私がやりたいのは、MySqlConnectionオブジェクトが作成されたら、特定のテーブルの特定の行のフィールドが更新されたときに「発生したイベント」を処理できるようにすることです。
つまり、そのテーブルの値が他のアプリケーションから手動で変更または変更された場合、開いているVB.NETアプリケーションでシグナルを受信したいと思います。これまでは、開いたVB.NETアプリケーションからX秒ごとにそのテーブルをチェックして実行していましたが、もっと良い方法で実行できるのではないかと思います。
ご清聴ありがとうございました。
mysql - MySQL: レコードの追加: 検索してから追加または追加のみ
MySql C++ Connector を介して MySQL のテーブルにアクセスするプログラムを C++ で作成しています。
ユーザーから (GUI または Xml ファイルを介して) レコードを取得します。
ここに私の質問があります:
最初に指定されたレコードをテーブルで検索し、存在しない場合は追加する必要があります。
または、レコードを追加し、それが一意である場合、MySQL にレコードを追加させますか?
これが私のテーブルの例です:
判断では、プログラムがユーザーに迅速に応答できるようにするソリューションを探しています。
開発中は小さなテーブル (5 レコード未満) しかありませんが、アプリケーションを正式にリリースするとテーブルが大きくなると予想しています。
参考までに: Windows XP および Vista で Visual Studio 2008、C++、wxWidgets、および MySQL C++ コネクタを使用しています。