Ошибка SQL-соединения с удаленным сервером - PullRequest
1 голос
/ 23 августа 2011

Привет! У меня есть приложение на C # для извлечения данных с удаленного хост-сервера (winhost) для синхронизации с локальным сервером sql (репликация не вариант) ... Очень маленькие наборы данных 10-100 для тестирования Ятолько получение 2 строкПриложение отлично работает на моем компьютере разработчика.Однако в клиентской сети я получаю прерывистую ошибку, скажем, половину времени:

Error Occurred Getting Record From Remote Server: Details =>    System.Data.SqlClient.SqlException (0x80131904): 
A network-related or instance-specific error occurred while establishing a connection  to SQL Server. 
The server was not found or was not accessible. Verify that the instance name is  correct and that SQL Server 
is configured to allow remote connections. (provider: SQL Network Interfaces, error:  26 - Error Locating 
Server/Instance Specified) at  System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, 
Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()     At 
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo,  SqlInternalConnectionTds connHandler, 
Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean  trustServerCert, Boolean integratedSecurity)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo  serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout,  SqlConnection owningObject) at 
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo,  String newPassword, 
Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString  connectionOptions, 
TimeoutTimer timeout) at  System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection 
owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String  newPassword, Boolean redirectedUser
Instance) at  System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity,  SqlConnectionString 
connectionOptions, Object providerInfo, String newPassword, SqlConnection  owningObject, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions  options, Object 
poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) at  System.Data.ProviderBase.
DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection,  DbConnectionPool pool, DbConnectionOptions options)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection  owningObject)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection  owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, 
DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open()  at 
System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode) at    AfocImport.Program.Main(String[] args)

На моей машине для разработчиков у меня не работает 20 Мбит / с, и приложение работает, никаких проблем никогда не возникало, однако клиент T11,5 Мбит / с вниз.Я предполагаю, что это проблема, однако это также может быть что-то в клиентской сети (брандмауэр я проверил) ...

Так что мой вопрос - эта ошибка только указывает на тайм-аут соединения, или это может бытьеще?Если да, могу ли я что-то сделать, чтобы исправить ситуацию (к сожалению, это единственный доступный интернет-клиент).Я попытался возиться с таймаутом соединения, но это, похоже, не имело значения.

1 Ответ

0 голосов
/ 23 августа 2011

Как выглядит ping / tracert?Как насчет попытки подключиться к удаленному серверу с помощью telnet через порт 1433?Я предполагаю, что либо порт заблокирован, либо DNS не разрешается.Вы пытаетесь подключиться к удаленному серверу по имени?Вы пробовали IP-адрес?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...