2

.NET Entity Framework 4 を使用して MySql に接続するアプリケーションがあります。これをいくつかの開発マシン (Windows 7) にセットアップし、現在 Windows 2008 R2 にデプロイしていますが、アプリケーションからデータベースにアクセスしようとすると例外がスローされます。

ADO.NET 用と Entity Framework 用の 2 つの接続文字列があります。

.NET v 6.4.4 用の MySql コネクタを使用しています。

例外は次のとおりです。

「基になるプロバイダーが Open で失敗しました。」- 「ストリームからの読み取りに失敗しました。」

例外をグーグルで調べると、ほとんどの投稿は SqlServer での Entity Framework の使用に関連しており、これらの場合、問題は認証に関連しているように見えます。ここでは root ユーザーの資格情報を使用して接続しているため、これが認証の問題である場合、診断方法がわかりません。他のアプリケーションは、同じ資格情報を使用してデータベースに接続します。

接続文字列は次のとおりです。

<add name="AppEntities" connectionString="metadata=res://*/OrmApp.AppEntities.csdl|res://*/OrmApp.AppEntities.ssdl|res://*/OrmApp.AppEntities.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=localhost;User Id=root;password=*********;Persist Security Info=True;database=app_staging;Convert Zero Datetime=True&quot;" providerName="System.Data.EntityClient" />

<add name="AppAdoNet" connectionString="server=localhost;User Id=root;password=*********;Persist Security Info=True;database=app_staging;Convert Zero Datetime=True" providerName="System.Data.MySql" />

MySqlでこのような問題を経験したことがある人、またはデータベース側にあると私が推測している問題を診断する方法についてアドバイスできる人がいれば、それはありがたいです.

4

1 に答える 1

3

最後に奇妙な問題。ここで回答http://www.randombytes.me/2012/06/mysql-connector-net-reading-from-stream.html

投稿リンクを更新しました。

概要:

運用サーバーは IIS 設定の [32 ビット アプリケーションを有効にする] を [True] に設定して使用していましたが、[False] に戻すと問題が解決しました。明らかに、アプリケーション内の別のコンポーネントがこのフラグを「True」に設定する必要があるかどうかを確認する必要があります。

于 2012-06-11T16:47:55.820 に答える