簡體   English   中英

如何與遠程數據庫sql服務器建立連接?

[英]How to establish connection to remote database sql server?

當嘗試使用enable-migrations連接到遠程數據庫時,我收到一個錯誤,堅持檢查連接字符串,我想要做的就是將我的上下文連接到遠程數據庫,並給 map 一個“用戶”class 和“遷移",這里是連接字符串:

<add name="TransformerANDConnectDB" connectionString="data source=REMOTE_SERVER_xx ;initial catalog=TransformerANDConnectDB;user id=xxx ;password=xxx ;Integrated Security=True ;MultipleActiveResultSets=True;"  providerName="System.Data.SqlClient" />

否則我向您展示啟用遷移后發生的錯誤:

 ---> System.Data.SqlClient.SqlException: Échec de l'ouverture de session de l'utilisateur 'ADSLOCAL\G558253'. à System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString

訪問數據庫時發生錯誤。 這通常意味着與數據庫的連接失敗。 檢查連接字符串是否正確,是否使用適當的 DbContext 構造函數來指定它或在應用程序的配置文件中找到它。 有關 DbContext 和連接的信息,請參閱http://go.microsoft.com/fwlink/?LinkId=386386 有關失敗的詳細信息,請參閱內部異常。

這是我的上下文文件:

public class TransformerConnectMEContext  :DbContext 
{
    public TransformerConnectMEContext()
            : base("Name=TransformerANDConnectDB")
    {
        Database.SetInitializer<TransformerConnectMEContext>(new TransformerConnectMEContextInitializer());
    }
    public DbSet<User> Users { get; set; }
}

內部異常:

System.Data.Entity.Core.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> System.Data.SqlClient.SqlException: Échec de l'ouverture de session de l'utilisateur 'ADSLOCAL\XXXX'.
   à System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)
   à System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   à System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, 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, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   à System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   à System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   à System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   à System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   à System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource 1 retry)
   à System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1 retry)
   à System.Data.SqlClient.SqlConnection.Open()
   à System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<Open>b__38(DbConnection t, DbConnectionInterceptionContext c)
   à System.Data.Entity.Infrastructure.Interception.InternalDispatcher 1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action 2 operation, TInterceptionContext interceptionContext, Action 3 executing, Action 3 executed)
   à System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext)
   à System.Data.Entity.SqlServer.SqlProviderServices.<>c__DisplayClass31.<UsingConnection>b__2f()
   à System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1.<Execute>b__0()
   à System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func 1 operation)
   à System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Action operation)
   à System.Data.Entity.SqlServer.SqlProviderServices.UsingConnection(DbConnection sqlConnection, Action 1 act)
   à System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection sqlConnection, Action 1 act)
   à System.Data.Entity.SqlServer.SqlProviderServices.GetDbProviderManifestToken(DbConnection connection)
   à System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
   --- Fin de la trace de la pile d'exception interne ---
   à System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)
   à System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)
   --- Fin de la trace de la pile d'exception interne ---
   à System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)
   à System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.<>c__DisplayClass1.<ResolveManifestToken>b__0(Tuple 3 k)
   à System.Collections.Concurrent.ConcurrentDictionary 2.GetOrAdd(TKey key, Func 2 valueFactory)
   à System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.ResolveManifestToken(DbConnection connection)`
  

在連接字符串中將 Integrated Security 設置為 false。

當 Integrated Security 設置為 false 時,將在連接中指定用戶 ID 和密碼。 為 true 時,當前 Windows 帳戶憑據用於身份驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM