2012-04-22 2 views
0

В моем проекте используется общая функция для возврата набора данных. Здесь я использую «SQLDataAdapter». Это отлично подходит для 3 других проектов. Но в одном из проектов эта функция выдавала ошибку при запуске с одной из клиентских машин. (Отлично работает на сервере).Лучшая практика при использовании 'SQlDataAdapter'

Ошибка: - При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (Поставщик: SQL Network Interfaces, ошибка: 26 - Ошибка Расположение сервера/Instance Указано)

Вот исходный код функции: -

Public Function Fn_Return_Dataset(ByVal sqlquerys As String) As DataSet 
    ' This function is used to return a dataset for given query 
    If mydb.State <> ConnectionState.Closed Then 
     mydb.Close() 
    End If 

    Dim dap As New SqlDataAdapter(sqlquerys, mydb) 
    mydataset = New DataSet() 
    Try 
     dap.Fill(mydataset) 
    Catch Exdat As Exception 
     writelog(Exdat.Message.ToString, "MYDATA", "FN_RETURN_DATASET") 
     showmsg("Sorry.....Unable to return dataset") 
    Finally 
     If mydb.State <> ConnectionState.Open Then 
      mydb.Open() 
     End If 
    End Try 
    Return (mydataset) 
End Function 
+0

Какой у вас механизм SQL (тип/версия). Используете ли вы именованные экземпляры? – huhu78

ответ

0

Если ваш код работает отлично на компьютере-сервере, а не на клиентская машина, тогда у вас есть проблема с коммуникацией. Проверьте, включен ли ваш SQL-механизм TCP и открыт ли брандмауэр. Возможно, у вас есть проблема, связанная с DNS/разрешением имен - проверьте имя сервера в строке подключения - выполните простой ping с именем сервера, чтобы проверить, может ли клиентская машина разрешать имя сервера для IP.

Смежные вопросы