2017-03-02 74 views
0

我尝试在新计算机上迁移旧项目时出现错误。在旧计算机上数据库工作正常。数据库的内容并不重要,这就是为什么我没有将旧数据库作为一个.bak文件带入新计算机。它是一个学校项目。无法在新计算机上迁移旧项目

我的工作在:

VS 2015

ASP.NET核心

"Microsoft.NETCore.App": { 
    "version": "1.0.1", 
    "type": "platform" 
}, 

"frameworks": { 
"netcoreapp1.0": { 
    "imports": [ 
    "dotnet5.6", 
    "portable-net45+win8" 
    ] 
} 
    }, 

这是从VS PackedManager错误代码:

System.OverflowException :算术运算导致溢出。在System.Data.SqlClient.SNINativeMethodWrapper.SNIOpenSyncExWrapper(SNI_CLIENT_CONSUMER_INFO & pClientConsumerInfo,IntPtr的& ppConn) 在System.Data.SqlClient.SNINativeMethodWrapper.SNIOpenSyncEx(ConsumerInfo consumerInfo,字符串constring,IntPtr的& pConn,字节[] spnBuffer,字节[]实例名,Boolean boolean fOverrideCache,Boolean fSync,Int32 timeout,Boolean fParallel) at System.Data.SqlClient.SNIHandle..ctor(ConsumerInfo myInfo,String serverName,Byte [] spnBuffer,Boolean ignoreSniOpenTimeout,Int32 timeout,Byte [] & instanceName,Boolean flushCache,Boolean fSync,Boolean fParallel) at System.Data.SqlClient.TdsParserStateObject.CreatePhysicalSNIHandle(String serverName,Boolean ignoreSniOpenTimeout,Int64 timerExpire,Byte [] & instanceN ame,Byte [] spnBuffer,Boolean flushCache,Boolean async,Boolean fParallel) at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo,SqlInternalConnectionTds connHandler,Boolean ignoreSniOpenTimeout,Int64 timerExpire,Boolean encrypt,Boolean trustServerCert,Boolean integratedSecurity,Boolean withFailover) 在System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo,布尔ignoreSniOpenTimeout,TimeoutTimer超时,布尔withFailover) 在System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo,布尔redirectedUserInstance,SqlConnectionString connectionOptions,TimeoutTimer超时) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout,SqlConnectionString connectionOptions,Boolean redirectctedUserInstance) at System .Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity,SqlConnectionString connectionOptions,Object providerInfo,Boolean redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessio nData,Boolean applyTransientFaultHandling) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options,DbConnectionPoolKey poolKey,在System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(池类DBConnectionPool,的DbConnection owningObject,DbConnectionOptions选项,DbConnectionPoolKey poolKey,DbConnectionOptions USEROPTIONS) 对象poolGroupProviderInfo,池类DBConnectionPool,的DbConnection owningConnection,DbConnectionOptions USEROPTIONS) 在System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection) 在System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(的DbConnection owningObject,DbConnectionOptions USEROPTIONS,DbConnectionInternal oldConnection) 在System.Data.ProviderBase.DbConnectionPool.TryGetConnection(的DbConnection owningObject,UInt32的waitForMultipleObjectsTimeout,布尔allowCreate,布尔onlyOneCheckConnection,DbConnectionOptions USEROPTIONS,DbConnectionInternal &连接) 在System.Data.ProviderBase.DbConnectionPool。TryGetConnection(的DbConnection owningObject,TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource 1重试,DbConnectionOptions USEROPTIONS,DbConnectionInternal oldConnection,DbConnectionInternal &连接) 在System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(的DbConnection outerConnection,DbConnectionFactory connectionFactory的,TaskCompletionSource 1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1重试) 在System.Data.SqlClient的.SqlConnection.Open() 在Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open() 在Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerDatabaseCreator.Exists(布尔retryOnNotExists) 在Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists() 在Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate( String targetMigration) at Microsoft.EntityFrameworkCore.Design.MigrationsOperations.UpdateDatabase(String targetMigration,String contextType) at Microsoft.EntityFrameworkCore.Tools.Cli.DatabaseUpdateCommand。 <> c__DisplayClass0_0.b__0() 在Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(字串[] args) 在Microsoft.EntityFrameworkCore.Tools.Cli.Program.Main(字串[] args) 算术运算导致溢出。

我在网上搜索了解决方案,但没有找到任何我认为可以使用的解决方案。我正在使用SSMS 2016最新版本来处理数据库。

有意思的是,我目前在同一台计算机上的虚拟机器上工作。我正在使用VMWare,并且在虚拟机上的WAC服务器上安装了SQL Server Express 2012。我不知道这是否对我目前的问题有任何帮助,但我认为你知道得越多越好,你可以提供帮助。在处理这个问题时,虚拟机没有运行。

告诉我是否还有其他的东西想要阻止我的代码。

+0

'这就是为什么我没有把旧数据库带到新计算机上 - 看起来它可能不喜欢数据库。你有没有尝试过把旧的数据库,并用它来看看你是否得到同样的问题? – Nope

+0

不幸的是旧的数据库不再存在。擦掉旧电脑并出售。 – AllramEst

+0

从我在“System.Data.SqlClient.SNINativeMethodWrapper”引发的确切错误中发现它似乎归结为不兼容或损坏的数据库。 – Nope

回答

0

最后解决了这个问题。我做了一个完整的Windows 10重置。并安装了VS 2017。然后它一切正常。我也做了一个新的测试项目,并试图迁移它。但同样的问题不断返回。所以我认为它必须是某些破碎的文件。但如前所述,现在所有的工作。感谢所有的建议。