2015-01-20 20 views
0

Я новичок в Excel VBA. У меня есть готовый код, который написан для машины с IP-адресом 199.63.106.70. Теперь я хочу, чтобы тот же код запускался для другого компьютера 199.56.122.155. Я устанавливаю MS SQL Server 2008 R2 на новую машину. Я также проверил соединение с помощью мастера подключения к данным. Данные извлекаются. Но когда я пытаюсь получить данные, нажав на кнопку, отобразится сообщение об ошибке «Ошибка в процессе». Контроллер прыгает с oCon.Open Как эта ошибка будет решена? правильный формат строки подключения? Идентификатор пользователя и пароль - это учетные данные для входа в систему, которые используются в строке.Не удается подключиться к базе данных

Dim oCon As ADODB.Connection 
    Dim oRS As ADODB.Recordset 
    Dim rowcounter As Long 

    On Error GoTo errhandler 
    rowcounter = 2 
    Set oCon = New ADODB.Connection 
     oCon.connectionstring = "Driver={SQL Server};Server=199.63.106.70;Database=dashboard;User Id=dashboardadmin;Password=passwrd;" 
     oCon.Open 
     Set oRS = New ADODB.Recordset 
     oRS.ActiveConnection = oCon 

     oRS.Source = "SELECT HourlyReadingTimestamp, Hourlyreading,cost FROM MeterConsumptioNDetail where meterid=" & Range("J5").Value & " and HourlyreadingTimestamp between '" & Range("K5").Value & "' and '" & Range("L5").Value & " 23:59:59' order by HourlyreadingTimestamp" 
     oRS.Open 

     While Not oRS.EOF 
      Range("A" & rowcounter).Value = oRS.Fields(0).Value 
      Range("B" & rowcounter).Value = oRS.Fields(1).Value 
      Range("C" & rowcounter).Value = oRS.Fields(2).Value 

      rowcounter = rowcounter + 1 

      oRS.MoveNext 
     Wend 

      oCon.Close 
     If Not oRS Is Nothing Then Set oRS = Nothing 
     If Not oCon Is Nothing Then Set oCon = Nothing 
     MsgBox ("Data fetched successfully") 
     Exit Sub 
errhandler: 
     MsgBox ("Error in process!") 
End Sub 
+1

Комментарий 'On Error GoTo errhandler', поэтому вы видите * актуальную * ошибку, пожалуйста, добавьте ее в свой вопрос. –

+0

Диалоговое окно ошибки обработчика ошибок, отображающее ошибку времени выполнения '' -2147467259 (80004005) ': SQL Server не существует или недоступен. –

+0

И используя строку подключения ниже? –

ответ

0

Строка соединения является неправильным, если вы хотите использовать Integrated Security (Windows Логин) использовать:

Driver={SQL Server};Server=199.63.106.70;Database=dashboard;Trusted_Connection=Yes; 

Водитель будет иметь дело с проверкой подлинности на основе пользователя, запустившего процесс.

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