2016-08-01 9 views
1

Unsere Firma möchte eine Webformularanwendung bereitstellen, aber dennoch unsere Datenbank lokal ausführen. Azure Hybrid-Verbindung können Sie dies tun. Ich habe ein neues Projekt erstellt und folgte this von Microsoft azure.C# ASP.NET, Azure hybrid sql-Verbindung kann keine Verbindung zu Datenbank auf Webformularanwendung herstellen

Die App funktioniert beim Debuggen und ich kann neue Benutzer zur Datenbank hinzufügen und einloggen. Die App läuft bei der Bereitstellung, aber wenn ich mich anmelden oder einen neuen Benutzer zur Mitgliedschaftsdatenbank hinzufügen will gibt es mir: "Arithmetic Betrieb führte zu einem Überlauf. ".

Die Connectionstring in web.config:

<add name="DefaultConnection" connectionString="Server=MyServerName\\MAILREGLOCAL,1433; Database=MembershipDB; User ID=myID; Password=myPassword" 
    providerName="System.Data.SqlClient" /> 

ist der volle Stack-Trace:

[OverflowException: Arithmetic operation resulted in an overflow.] 
    System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +347 
    System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78 
    System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +191 
    System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +154 
    System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +21 
    System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +90 
    System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +217 
    System.Data.SqlClient.SqlConnection.Open() +96 
    System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<Open>b__36(DbConnection t, DbConnectionInterceptionContext c) +10 
    System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch(TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) +72 
    System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext) +360 
    System.Data.Entity.SqlServer.<>c__DisplayClass33.<UsingConnection>b__32() +426 
    System.Data.Entity.SqlServer.<>c__DisplayClass1.<Execute>b__0() +10 
    System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Func`1 operation) +189 
    System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Action operation) +78 
    System.Data.Entity.SqlServer.SqlProviderServices.UsingConnection(DbConnection sqlConnection, Action`1 act) +175 
    System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection sqlConnection, Action`1 act) +375 
    System.Data.Entity.SqlServer.SqlProviderServices.CreateDatabaseFromScript(Nullable`1 commandTimeout, DbConnection sqlConnection, String createDatabaseScript) +86 
    System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection) +164 
    System.Data.Entity.Core.Common.DbProviderServices.CreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection) +76 
    System.Data.Entity.Core.Objects.ObjectContext.CreateDatabase() +134 
    System.Data.Entity.Migrations.Utilities.DatabaseCreator.Create(DbConnection connection) +119 
    System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase) +142 
    System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration) +78 
    System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext, Func`3 createMigrator, ObjectContext objectContext) +89 
    System.Data.Entity.Internal.InternalContext.CreateDatabase(ObjectContext objectContext, DatabaseExistenceState existenceState) +116 
    System.Data.Entity.Database.Create(DatabaseExistenceState existenceState) +218 
    System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context) +151 
    System.Data.Entity.Internal.<>c__DisplayClassf`1.<CreateInitializationAction>b__e() +76 
    System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) +60 
    System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() +357 
    System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(InternalContext c) +7 
    System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input) +110 
    System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action) +198 
    System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() +73 
    System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +28 
    System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +53 
    System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext() +15 
    System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider() +38 
    System.Data.Entity.QueryableExtensions.FirstOrDefaultAsync(IQueryable`1 source, Expression`1 predicate, CancellationToken cancellationToken) +138 
    System.Data.Entity.QueryableExtensions.FirstOrDefaultAsync(IQueryable`1 source, Expression`1 predicate) +145 
    Microsoft.AspNet.Identity.EntityFramework.<GetUserAggregateAsync>d__6c.MoveNext() +473 
    System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +92 
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58 
    Microsoft.AspNet.Identity.CultureAwaiter`1.GetResult() +59 
    Microsoft.AspNet.Identity.Owin.<PasswordSignInAsync>d__29.MoveNext() +359 
    System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +92 
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58 
    Microsoft.AspNet.Identity.AsyncHelper.RunSync(Func`1 func) +160 
    Microsoft.AspNet.Identity.Owin.SignInManagerExtensions.PasswordSignIn(SignInManager`2 manager, String userName, String password, Boolean isPersistent, Boolean shouldLockout) +127 
    TestDeployForms.Account.Login.LogIn(Object sender, EventArgs e) +147 
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9696694 
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +204 
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +12 
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +15 
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35 
    System.Web.UI.<ProcessRequestMainAsync>d__523.MoveNext() +5911 
+1

haben Sie bereits dieses Problem überprüfen erwähnt? https://blogs.msdn.microsoft.com/waws/2016/05/17/hybrid-connection-error-with-sql-server-system-overflowexception-arithmetic-operation-resulted-in-a-overflow/ – Aravind

Antwort

1

Wow, nicht erwarten, dass - dank für Aravind mich this site zeigen.

Was das Problem behoben wurde im Anschluss an diese Anweisungen von MSDN:

**

The instructions need to be followed on hosts running the Hybrid Connection Manager. The instructions for directly editing the registry are: 
To add this schannel registry entry registry entry, follow these steps: 
1.Click Start, click Run, type regedit in the Open box, and then click OK. 
2.Locate and then click the following subkey in the registry: 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL 
3.On the Edit menu, point to New, and then click DWORD Value. 
4.Type SendExtraRecord for the name of the DWORD value, and then press Enter. 
5.Right-click SendExtraRecord, and then click Modify. 
6.In the Value data box, type 2 to disable the split record in schannel, and then click OK. 
7.Exit Registry Editor. 
8. Restart the Azure Hybrid Connection Manager Service or reboot the machine the Azure Hybrid Connection Manager Service is installed on (see the security update to determine which is required, or reboot the machine to be safe) 
Make sure that if you copy/paste the key name you don’t accidentally put a space in at the end. 
Make sure you name the DWORD “SendExtraRecord” 
Make sure the DWORD was set to 2. 

**

+0

This löst es nicht für mich. Haben viele Leute mit dieser Problemumgehung Erfolg gehabt? – HansLindgren

Verwandte Themen