1

私のアプリ全体は、mysql データベースに接続し、Entityframework を使用してデータを挿入するだけです。コードはローカルで正常に動作しますが、Amazon サーバーにアップロードすると、次のエラーが表示されます: http://fb1.131x.com/test_data.aspxで確認できます

説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。詳細: System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[NullReferenceException: Object reference not set to an instance of an object.]
   MySql.Data.MySqlClient.MySqlClientFactory.get_MySqlDbProviderServicesInstance() +126
   MySql.Data.MySqlClient.MySqlClientFactory.System.IServiceProvider.GetService(Type serviceType) +39
   System.Data.Common.DbProviderServices.GetProviderServices(DbProviderFactory factory) +89
   System.Data.Metadata.Edm.Loader.InitializeProviderManifest(Action`3 addError) +174
   System.Data.EntityModel.SchemaObjectModel.Schema.HandleAttribute(XmlReader reader) +301
   System.Data.EntityModel.SchemaObjectModel.SchemaElement.ParseAttribute(XmlReader reader) +121
   System.Data.EntityModel.SchemaObjectModel.SchemaElement.Parse(XmlReader reader) +106
   System.Data.EntityModel.SchemaObjectModel.Schema.HandleTopLevelSchemaElement(XmlReader reader) +49
   System.Data.EntityModel.SchemaObjectModel.Schema.InternalParse(XmlReader sourceReader, String sourceLocation) +984
   System.Data.EntityModel.SchemaObjectModel.Schema.Parse(XmlReader sourceReader, String sourceLocation) +245
   System.Data.EntityModel.SchemaObjectModel.SchemaManager.ParseAndValidate(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths, SchemaDataModelOption dataModel, AttributeValueNotification providerNotification, AttributeValueNotification providerManifestTokenNotification, ProviderManifestNeeded providerManifestNeeded, IList`1& schemaCollection) +472
   System.Data.Metadata.Edm.Loader.LoadItems(IEnumerable`1 xmlReaders, IEnumerable`1 sourceFilePaths) +162
   System.Data.Metadata.Edm.StoreItemCollection.Init(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths, Boolean throwOnError, DbProviderManifest& providerManifest, DbProviderFactory& providerFactory, String& providerManifestToken, Memoizer`2& cachedCTypeFunction) +203
   System.Data.Metadata.Edm.StoreItemCollection..ctor(IEnumerable`1 xmlReaders, IEnumerable`1 filePaths) +305
   System.Data.Metadata.Edm.StoreMetadataEntry.LoadStoreCollection(EdmItemCollection edmItemCollection, MetadataArtifactLoader loader) +129
   System.Data.Metadata.Edm.MetadataCache.LoadItemCollection(IItemCollectionLoader`1 itemCollectionLoader, T entry) +165
   System.Data.Metadata.Edm.MetadataCache.GetOrCreateStoreAndMappingItemCollections(String cacheKey, MetadataArtifactLoader loader, EdmItemCollection edmItemCollection, Object& entryToken) +245
   System.Data.EntityClient.EntityConnection.LoadStoreItemCollections(MetadataWorkspace workspace, DbConnection storeConnection, DbProviderFactory factory, DbConnectionOptions connectionOptions, EdmItemCollection edmItemCollection, MetadataArtifactLoader artifactLoader) +312
   System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections) +802
   System.Data.EntityClient.EntityConnection.InitializeMetadata(DbConnection newConnection, DbConnection originalConnection, Boolean closeOriginalConnectionOnFailure) +11108961
   System.Data.EntityClient.EntityConnection.Open() +198
   System.Data.Objects.ObjectContext.EnsureConnection() +97
   System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options) +651
   System.Data.Entity.Internal.InternalContext.SaveChanges() +218
   test_data.Page_Load(Object sender, EventArgs e) +231
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064
Exception

また、webconfig も貼り付けます。バージョン 6.3.5 および 6.4.4 を使用しようとすると、同じエラーが発生します。

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <configSections>
        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </configSections>
    <system.web>
        <customErrors mode="Off" />
        <compilation debug="true" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
                <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            </assemblies>
            <buildProviders>
                <add extension=".edmx" type="System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider" />
            </buildProviders>
        </compilation>
    </system.web>
    <system.data>
        <DbProviderFactories>
            <remove invariant="MySql.Data.MySqlClient" />
            <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
        </DbProviderFactories>
    </system.data>
    <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
            <parameters>
                <parameter value="v11.0" />
            </parameters>
        </defaultConnectionFactory>
    </entityFramework>
    <connectionStrings>
        <add name="fb131xEntities" connectionString="metadata=res://*/App_Code.FBDS.csdl|res://*/App_Code.FBDS.ssdl|res://*/App_Code.FBDS.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=fb131x.db.8808454.hostedresource.com;user id=fb131x;password=aA!259214;persist security info=True;database=fb131x&quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>
</configuration>
4

2 に答える 2

0

これらはあなたが試すことができるもののいくつかです. ホスティング プロバイダーにアプリケーションをデプロイすることは、常に困難なステップです。それがうまくいくと、それはうまくいきます。

  • a.ビルドクリーン。
  • b. mysql dll を ur bin ディレクトリにビルドします。
  • c. MySQL.Data および MySQL.Data.Entities の nuget パッケージをインストールします ((アセンブリを右クリックし、ビルドする前に Copy Local が true に設定されていることを確認します)。
  • d.完全なバージョン データを指定する代わりに、Version=6.3.5.0 タグを完全に削除し、VS.type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" でバージョン管理なしでビルドします。
于 2013-01-29T13:31:00.133 に答える