Я создал макрос в книге Excel, чтобы извлечь подмножество данных из базы данных SQL на основе ввода пользователем.Подключение данных Excel к ошибке SQL dB
Макрос предлагает пользователю для ввода параметров и вставляет этот параметр в готовую хранимую процедуру сконфигурированной в связи с данных Excel - см ниже моей УВА:
Sub RefreshDBQuery()
Dim Val As Integer
Application.ScreenUpdating = False
Worksheets("Adjustable CF").Select
Val = InputBox("Enter valid 4 digit number", , 1907)
Sheets("TestData").Visible = True
Worksheets("TestData").Select
Worksheets("TestData").Range("A1").Select
ActiveCell.Value = Val
With ActiveWorkbook.Connections("MacroExtraction 2Server").OLEDBConnection
.CommandText = "EXEC dbo.prV_FlowExtract '" & Range("A1").Value & "'"
End With
ActiveWorkbook.Connections("MacroExtraction 2Server").Refresh
Sheets("TestData").Visible = False
End Sub
Когда я запускаю его - она отлично работает и, кроме того, так как это изменение существующего соединения данных (один я уже настроен), я замечаю ODC-файл в папке под названием «Источники Мои данные» в разделе Мои документы:
Однако, когда я посылаю эту книгу к коллеге, чтобы запустить макрос и для извлечения данных - макрос может работать до точки, и она получает сообщение об ошибке:
я спрашиваю ее, чтобы открыть папку «Мои источники данных», и я не вижу файл odc:
Мой вопрос: что мне не хватает? Вернее, что мой коллега не хватает, чтобы заставить ее макрос работать на своей локальной машине?
Я проверил с администратором дБ, который сказал, что у нее есть разрешения, необходимые для доступа к серверу, поэтому я выбираю отсутствие odc в качестве причины для моей озабоченности. Должен ли я скопировать мой файл odc и отправить его ей для копирования в папку «Источники данных»? Должен ли я переписать макрос и переустановить соединение с данными на ее локальной машине? Любой, кто имеет опыт комментировать, будет очень благодарен! Благодаря!
Так что вам не хватает здесь, что соединения для передачи данных специфичны для вашего ПК. В вашем коде вы открываете эту строку подключения и обновляете ее, но эта строка соединения oledb по-прежнему размещается на вашем ПК в вашем или «My Data Sources». Это зависит от ваших намерений и того, как для сервера настроен доступ к тому, как вы будете корректировать свой код, и если вы его отрегулируете вообще. –