問題タブ [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++ - 「get_driver_instance」への未定義の参照
http://dev.mysql.com/doc/refman/5.1/en/connector-cpp-examples-complete-example-1から最も単純な例をビルドすると、「'get_driver_instance' への未定義の参照」が表示されます。 .html . ローカル マシンでは正常にビルドおよび実行されますが、サーバーではビルドされません。mysql ライブラリの問題をリンクしているようです。
これは私のビルド コマンドです:
g++ -o test -Iinclude -Llib -L/usr/lib64/mysql main.cpp
動的な「libmysqlclient.so」を使用してビルドされているため、サーバー上でローカルにビルドされたバイナリを実行できません。また、静的な libmysqlclient.a をローカル マシンにインストールしようとしましたが、/usr/lib/mysql ディレクトリに「libmysqlclient.a」が見つかりません。サーバーで実行する唯一の方法は、ローカルマシンで静的にビルドできるか、サーバーで直接コンパイルしてビルドできる場合だと思います。「sudo yum install mysql-devel」を試しましたが、libmysqlclient.so しか表示されません。「libmysqlclient.a」が見つかりません。ローカル Linux に静的 mysqlclient をインストールする方法はありますか、それともビルド コマンドが間違っていますか? サーバー上でソース コードをビルドするにはどうすればよいですか?
sql - MySQL Connector / NetはインラインSQLをコードに変換しますか?
ばかげた質問かもしれませんが、答えはわかりません。MySQL Connector / Netを使用する場合、ADO.NET経由でSQLを送信するとき、インラインSQLは最初にコードに変換されてからデータベースに送信されますか、それともSQLテキストとして送信されてからデータベースエンジンが変換する必要がありますかそれをコードに?
または、ADO.NETは翻訳を行いませんか?
または、これについての私の考えがかなり外れているように思われる場合は、私をまっすぐにしてください。ありがとう。
mysql - 指定された型メンバー 'DateTime' は、LINQ to Entities ではサポートされていません
コネクタの最新の開発バージョンである 6.3.3 ベータ版を使用して、VS2010 の Entity Framework 4 経由で mysql データベースに接続しています。
クエリで TIMESTAMP 列 (createdDate) を使用する次の Linq ステートメントがあります。コードは次のとおりです。
CLR は次の例外をスローしています。
"MySql.Data.MySqlClient.MySqlException (0x80004005): コマンドの実行中に致命的なエラーが発生しました。 ---> MySql.Data.MySqlClient.MySqlException (0x80004005): 日付/時刻の値をシリアル化できません。\r\n at MySql.Data .Types.MySqlDateTime.MySql.Data.Types.IMySqlValue.WriteValue(MySqlPacket パケット、ブール バイナリ、オブジェクト値、Int32 の長さ)\r\n で MySql.Data.MySqlClient.MySqlParameter.Serialize(MySqlPacket パケット、ブール バイナリ、MySqlConnectionStringBuilder 設定)\r\n MySql.Data.MySqlClient.Statement.SerializeParameter(MySqlParameterCollection パラメーター、MySqlPacket パケット、文字列 parmName) で\r\n MySql.Data.MySqlClient.Statement.InternalBindParameters(文字列 sql、MySqlParameterCollection パラメーター、MySqlPacket パケット) で\ MySql.Data.MySqlClient.Statement.BindParameters() で r\n\r\n MySql.Data.MySqlClient.Statement で。Execute()\r\n で MySql.Data.MySqlClient.PreparableStatement.Execute()\r\n で MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior 動作)\r\n で MySql.Data.MySqlClient.MySqlCommand. ExecuteReader(CommandBehavior 動作)\r\n MySql.Data.Entity.EFMySqlCommand.ExecuteDbDataReader(CommandBehavior 動作)\r\n System.Data.Common.DbCommand.ExecuteReader(CommandBehavior 動作)\r\n System.Data. EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior 動作)"ExecuteDbDataReader(CommandBehavior 動作)\r\n System.Data.Common.DbCommand.ExecuteReader(CommandBehavior 動作) で\r\n System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand、CommandBehavior 動作) で"ExecuteDbDataReader(CommandBehavior 動作)\r\n System.Data.Common.DbCommand.ExecuteReader(CommandBehavior 動作) で\r\n System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand、CommandBehavior 動作) で"
次のリンクのアドバイスに従おうとしました: http://bugs.mysql.com/bug.php?id=52550
DateTimeOffset の代わりに DateTime を宣言することによって:
.createdDate.DateTime の形式を使用しますが、Entity Framework はそれを好まず、例外を返します。
指定された型メンバー 'DateTime' は、LINQ to Entities ではサポートされていません
これは、以前のバージョンの NET/Connector のバグとして報告されました。
GA バージョン 6.3.4 でこの問題が修正されることを願っていますが、6.3.3 ベータ版でも問題は解決していません。
mysql - Mysql, NHibernate and visual studio 2008 configuration
I am a beginer with visual studio 2008 (C#), mysql and NHibernate.
I have problems with mysql connector as I don't know how to add reference to it.
In my project I have: /lib/mysql-connector-net-6.1.4-src/ (downloaded from http://dev.mysql.com/downloads/mirror.php?id=387799#mirrors)
Now I right click on my project -> addReference -> browse -> What now?
Should I also edit my hibernate configuration?
Thanks
java - 文字列の切り捨て
私は、私たちのデータベースに収まるかどうかわからないサードパーティのユーザー データを扱っています。データが長すぎる場合は、切り捨てる必要があります。
Connector/JでIBatisを使用しています。データが長すぎる場合、SQL 例外がスローされます。Java で文字列を切り捨てるか、部分文字列を使用して SQL で文字列を切り捨てるという 2 つの選択肢がありました。
Ibatis XML でテーブル構造を書いているので、SQL で文字列を切り捨てるのは好きではありませんが、一方で SQL はデータベースの照合 (一貫性がなく、一貫性を保つにはコストがかかる) を認識しており、切り捨てることができます。文字列をマルチバイトセーフな方法で。
Connector/J にこの SQL を直接挿入させる方法はありますか? そうでない場合、どのルートを推奨しますか?
c++ - MySQLエラー2005(MySql C ++コネクタを使用):
MySQLC++コネクタを使用してデータベースに接続しようとしています。私はこのコードセグメントを何度も使用しました:
正常に動作しましたが、このコードセグメントから次のエラーがスローされます。
オンラインで見つけられるのは、そこで間違ったホスト名を使用していることだけなので、このエラーがどこから来ているのかわかりません。Visual Studio 2005のデバッグモードでコンパイルしていて、MFCプロジェクトに参加しています。誰かがこれを解決する方法について何かアイデアがありますか?
お時間をいただき、ありがとうございました!
c# - MySQLコネクタEFストアドプロシージャ
次のストアドプロシージャがあります。
しかし、モデルを更新すると、このプロシージャはストレージモデルにもインポートされません。
.net - MySQLコネクタ/NET接続接続ごとに複数のDataReader?
JavaからC#に移行しているので、Javaの機能よりもC#言語の機能の方が好きだと気づきましたが、この小さな問題があります。MySQL Connector / JおよびJDBCでは、アプリケーションの1つで、PreparedStatement
別のアプリケーションが開いているときに複数のを実行できると思います。たとえば、を返すクエリを実行でき、ResultSet
それResultSet
がまだ開いている間に、別のアプリケーションを開いて別のアプリケーションPreparedStatement
を取得できます。ResultSet
または、最初に取得したデータに基づいて更新を実行することもできますResultSet
(つまり、行のパスワード列にプレーンテキストのパスワードがあることに気付いたときに、ソルト値を挿入し、SHA512ハッシュでパスワード列を更新します)。
ただし、Connector / NETを使用すると、これを実行しようとすると、次のエラーが発生することに気付きました。
MySql.Data.MySqlClient.MySqlException: There is already an open DataReader associated with this Connection which must be closed first.
このエラーを修正する簡単な方法はありますか?MySQLから.NETへのブリッジの他の実装はありますか?1つのアプリケーションで多くのDB接続を作成したくはありませんが、(ThreadLocalのように)アプリケーションのスレッドごとに1つ作成したい場合があります。ThreadLocal DB接続は、2つの異なるメソッドで同時に2つのクエリを実行する場合に役立ちますが、明らかにこれら2つのコマンドを異なるスレッドに分離することはできず、余分なスレッドを作成したくありません。
ちなみに、これがコードそのものです。はい、リーダーを閉じた後、更新コードを下に移動できますが、同様の方法がたくさんあり、それらのいくつかはこれよりも修正が困難です。
更新コードを移動することが唯一の可能性である場合、またはそれが最良のものである場合、私はそれでやらなければならないと思いますが、最初に他の可能性についてより多くのアイデアを得てからオプションを選択したいと思います。
java - MySQL JDBCドライバーとFLOAT(N、M)列タイプ
最近、私にとって少し奇妙なバグがあります。FLOAT(8、3)の列を持つテーブルがあると考えてみましょう。また、Webブラウザからアクセスできる検証済みのテーブルエディタがあると考えてみましょう。テーブルエディタは、すべての列のクライアント側の検証をサポートし、単純なJavaScript正規表現を使用して列タイプで指定された範囲内にないfloatを配置することはできません。
簡単に表す:
FLOAT(8、3)の場合。ユーザーはそのセルに99999.999を簡単に入力でき、変更を保存すると、セルに100000を取得します。これは、テーブルの列の制約に対して無効な精度が失われた値です。バリデーターの正規表現を拡張して100000を渡そうとしましたが、この値をDBに保存できません。うわー... 「行Nの列'COLUMN'の範囲外の値」が原因で予想されましたが、MySQLコンソール(警告が表示されない)とSQLyog(警告が表示される)で許可されるとは思っていませんでした。次のUPDATE
クエリ:
明らかに、これはMySQLコネクタ固有の問題です。これはMySQLコネクタのバグですか(現在私は使用していますmysql-connector-java-5.1.12-bin.jar
)?または、JDBCドライバーによって100000(理想的には最大値)をトリミングまたは調整できるようにする簡単な回避策はありますか?
前もって感謝します。
version - MySQL コネクタおよび MySQL サーバー バージョン 4.0.25
MySQL Connector/Net を使用して ac# プログラムを MySQL サーバーに接続しようとしています。
問題は、MySQL サーバーのバージョンが 4.x で、コネクタが次の例外をスローすることです。
Connector/Net は 5.0 より前のサーバー バージョンをサポートしなくなりました
この古い MySQL サーバーに接続する方法はありますか?