問題タブ [connector-net]
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# - 誤ったGUIDの順序
GUIDがf5cc4100-f1b4-4af6-9e9e-224b0eb74166
あり、ADO.NETコネクタを使用してMySQLデータベースに挿入しています。
私は2つの方法でそれを行うことができます:
1)バイト配列を.NETコネクタにフィードします
2)MySQL標準関数を使用して、16進数を2進数の文字列に変換します。
私が直面している問題は、上記の2つの方法で、同じGUIDがわずかに異なる文字順序で挿入されることです。
挿入されたGUIDを次のように選択し直す場合:
私は行き来f5cc4100-f1b4-4af6-9e9e-224b0eb74166
し0041ccf5-b4f1-f64a-9e9e-224b0eb74166
ます。しかし、私がこのように読んでいる場合:
取得0041ccf5-b4f1-f64a-9e9e-224b0eb74166
しf5cc4100-f1b4-4af6-9e9e-224b0eb74166
ます。
つまり、GUIDをバイト配列として挿入する場合は、それらをそのように読み取り、バイト配列としてキャストして、正しいGUIDを取得する必要があります。また、16進数のGUID文字列の時点でGUIDを挿入する場合はUNHEX
、同等の関数を使用してdbから読み取る必要がありHEX
ます。
上記の2つの方法で書き込みと読み取りが異なるのはなぜですか?
2つの間でGUIDを処理するためのより適切な方法は何でしょうか?
c# - MySqlCommand と prepare ステートメントで複数行を挿入するにはどうすればよいですか?(#C)
Mysql は、prepare ステートメントと .NET を使用して行を挿入する方法の例を示します: http://dev.mysql.com/doc/refman/5.5/en/connector-net-programming-prepared.html
cmd.ExecuteNonQuery()
各反復の最後に:を呼び出すため、そのように機能するように見えます。
そのような準備ステートメントを使用して実行できますか:
その他の説明::
mysql の例のコード (各反復での cmd.ExecuteNonQuery()):
*私がそのようにしたいコード (cmd.ExecuteNonQuery();
すべての反復の後): *
mysql - 認証方法 'mysql_old_password' はサポートされていません
mysql コネクタを更新しました。Visual Studio 2012 と統合するためのバージョン 6.6.4 プロバイダーへのネットですが、edmx への接続を構成しようとすると、「認証方法 'mysql_old_password' はサポートされていません」というエラーが発生します。
mysql - MySql 5 & LINQ to Entities EF 4により、ネットワーク経由でクエリを実行すると、「オブジェクトはIConvertibleを実装する必要があります」
同じ MVC 3 & C# コードを、2 つの異なる MySql インストールで同じ MySql 5.5 データベースのコピーと共に使用する場合。1つは完全に機能しますが、もう1つは「オブジェクトはIConvertibleを実装する必要があります」というエラーで失敗します。ローカル PC の MySql インストールに対してクエリを実行すると、クエリは常に完全に機能しますが、ローカル PC の Visual Studio 2010 からインターネット サービス プロバイダーの MySql インストールにある同じデータベースのコピーに対してクエリを実行しようとすると、「オブジェクトはIConvertible を実装します。」コードで変更するのは、web.config の ConnectionString のサーバー名だけです。それ以外の場合、コードとデータベースはまったく同じです。注: ISP の MySql インストールに対する他のすべてのクエリは完全に機能しますが、この 1 つの特定のクエリのみが機能しません。
これを数日間トラブルシューティングしようとした後、「オブジェクトはIConvertibleを実装する必要があります」というエラーメッセージは実際に起こっていることとは何の関係もないと確信しており、ISPのMySql構成が何らかの原因である可能性があるという印象も受けていますこの問題には次の理由があります。
これが本当にコード内の「オブジェクトは IConvertible を実装する必要がある」問題である場合、問題はコード内で持続し、どの DB インストールにヒットしても発生します。
ローカル PC の作業コピーから ISP の DB を完全に削除して再作成しましたが、まったく同じエラーが発生します。
最も興味深いのは、クエリに 3 つのネストされた IEnumerable リストがあり、これらはすべて IEnumerables と同じ方法でセットアップされており、クエリでこれらのネストされたリストのいずれか 1 つをコメントアウトすると、クエリは ISP の DB に対して正常に実行されます。どのネストされたリストがコメントアウトされるかは関係ありません。ネストされたリストが 2 つ以下であり、ISP の DB へのクエリが機能することだけです。これが、ローカル PC の MySql インストールをクエリするときにこの問題が発生しないため、ISP での MySql の構成が何らかの方法でクエリを制限している可能性があるという結論につながります。エラーメッセージは、実際に起こっていることに実際には当てはまらないようです。繰り返しになりますが、ISP の MySql インストールに対する他のすべてのクエリは完全に機能しますが、この特定のクエリに 3? が含まれるネストされた IEnumerable リストが 2 つ以上含まれているクエリはありません。
クエリ エラー「オブジェクトは IConvertible を実装する必要があります」
LINQ からエンティティへのクエリ:
商品リストViewModel:
この動作の原因は何ですか? これは、MySql 5.5 のデータベース構成のクエリしきい値設定またはネットワーク設定が原因である可能性がありますか? どちらの MySql 5.5 インストールでもデフォルトを変更していません。標準のMySql Connector/Net 6.5.4を使用して、Microsoftの標準MVC 3、C#、Entity Framework 4、LINQ-to-EntitiesコードとともにDBにアクセスしています。
これに関するヘルプは大歓迎です。ありがとう、Atlas361
entity-framework - Visual Studio 2012 Express for Web に mysql データ ソースを追加する方法
asp.net mvc 4 プロジェクトに mysql 接続を追加しようとしていますが、データ ソース ウィンドウに表示されません。
Visual Studio 2012 Express for Web をインストールした後、nuget を介して mysql Connector/Net を追加しました。mysql db に新しい接続を追加したかったのですが、データ ソース ウィンドウ リストに mysql データ ソースが表示されました。検索の結果、v6.6.4 があり、6.6.5 からサポートされていることがわかったので、nuget からアンインストールし、mysql Web サイトから 6.6.5 をインストールしました (完全なインストール)。それは役に立ちませんでした..私もそれをアンインストールして再インストールしようとしましたが、何も変わりませんでした。
どうすればこれを解決できますか?
mysql - MySQL エンティティ プロバイダー:「接続が多すぎます」
ASP.NET アプリケーションでは、MySQL の上に構築されたデータ層を実装しました。これは、Entity Framework を実装するためにConnector/NETを使用します。
これはほとんどの CRUD アクションで問題なく機能しますが、数百のレコードで INSERT ステートメントを実行すると、「接続が多すぎます」という例外がスローされます。
多くの個別の読み取り/書き込み呼び出しを行っていることは承知していますが (すべての挿入の前に重複するエントリをクエリし、さらに、挿入ごとに個別のクエリを使用して書き込まれる監査ログもあります)、接続しないでください。プールはこれの世話をしますか?
また、この同様のスレッドでは、OP は私が完全に同意するusingステートメントを使用するように指示されました。別の要求がキューに入れられている場合。
とにかく、connect timeout
現在は 50 です。これはすでにかなり小さいですよね? 500 まで上げても違いはありませんでしたが、10 まで下げても、同じ例外がスローされる前に挿入が約 50% 増えました。
では、DbContext のすべてのインスタンスがusingステートメントでラップされているのに、なぜ「接続が多すぎます」という例外が発生するのでしょうか?
更新:問題の根本原因は、実際にはリポジトリの 1 つがコンストラクターで DB 接続を開いていることが原因であることがわかりました。この接続は使用されていませんでした。申し訳ありませんが、これはニシンであることが判明しました。ご提案いただきありがとうございます。
mysql - MySQL コネクタ 6.7.4 Entity Framework 5 モデル ファースト
Visual Studio 2012、MySQL 5.6.14、Connector for .NET 6.7.4、および Visual Studio プラグイン 1.0.2 を使用しています。
Entity Framework を作成しましたが、「モデルからデータベースを生成」が機能しません。
ここで提案された変更を試しました
http://bugs.mysql.com/bug.php?id=67964
しかし、今では以下の例外が発生します (資格情報が渡されていないように見えます)。誰もこれを経験しましたか?
mysql - NULL を返す MySQL Connector/NET 出力パラメータ
次のコードを使用します。
次のストアド プロシージャを使用します。
コンソールからこれを実行すると、「27」が返されます。
ただし、.NET では、クエリを実行するとき (接続がまだ開いているとき)、curParam.value は NULL を返します。
それ以外の場合、ストアド プロシージャは正しい結果を返します。さらに、ストアド プロシージャをコンソールで直接実行すると、出力パラメーターも正しく返されます。
何か不足していますか?
mysql - パラメータ「?」定義する必要があります
MySQL データベースを管理するための単純な ASP.NET アプリを作成しました。Visual Studio 2013 と、DetailsView、GridView などの自動生成された要素を使用してきました。アプリはローカルで正常に動作します (サイトがホストされている MySQL サーバーへのクエリを含む) が、Webhotel でアプリを試してみると、エラー:
パラメータ「?」定義する必要があります
サーバーの問題ではなく、スクリプトの問題であると主張するカスタマーサポートと連絡を取り合っています(ローカルでは問題なく動作すると言っていますが)。
.aspx ページの SqlDataSource の例は次のようになります。
MySQL 自身のバグ サイトによると、これは MySQL コネクタの以前のバージョンの問題でした。
http://bugs.mysql.com/bug.php?id=66060
ただし、バージョン 6.8.3 を使用しています。私が見つけた他の一見実行可能な解決策は
しかし、役に立たない。また、どうやら
私は機知に富んでいるので、どんな助けも大歓迎です。ありがとうございました