Подключение ODBC с собственным драйвером/настройками доверия Excel

У меня есть электронная таблица в Excel, которая подключается к внутренней базе данных с помощью драйвера odbc для программного обеспечения (система запросов действий). Это прекрасно работает. Теперь я пытаюсь переместить файл Excel на сайт SharePoint, чтобы наша команда могла просматривать данные и делать заметки в той же электронной таблице.

Итак, сначала я попытался просто переместить файл Excel на сервер, но понял, что соединение, сохраненное в файле, указывает на файл соединения на моем компьютере. Поэтому я переместил это на сайт SharePoint, и это, похоже, работает... За исключением:

1) На некоторых компьютерах он открывается нормально. Но я бы предпочел, чтобы диалоговое окно, запрашивающее логин и пароль для БД, было настроено.

2) На других компьютерах программное обеспечение и драйверы устанавливаются, но не отображаются в списке источников пользователя, поэтому выдает ошибку. Когда пользователь переходит к созданию нового соединения, драйвер находится там (поэтому он не в первом списке, а в большем списке).

3) Mac может открыть файл, но Excel 2008 не может выполнять макросы и соединения.

4) Открытие одного и того же файла с одного и того же сайта каждый раз вызывает предупреждение Центра управления безопасностью, даже на одном и том же компьютере/одном и том же пользователе.

Есть ли способ сделать что-либо из следующего?

  • У вас есть не-макрос, который не позволяет пользователю сохранять (и, следовательно, перезаписывать) лист, пока не будет подтверждено, что пользователь не будет вносить изменения в соединения/макросы?

  • Разрешить пользователю подключаться из локальной конфигурации (на случай, если они смогут настроить ту, которая будет работать, когда основная конфигурация выйдет из строя), чтобы они могли подключаться с использованием этой конфигурации, но не испортить ее для всех остальных.

  • Установите параметры доверия (локальные или на сервере, я полагаю), чтобы любые файлы из определенного SharePoint всегда были доверенными?

Наконец, и это главное...

Можете ли вы создать соединение с помощью драйвера не на локальной машине? Если драйвер установлен на удаленном сервере, может ли Excel использовать его? Если бы это было так, это решило бы почти все другие проблемы (если вы не на Mac).

Я чувствую, что делаю это немного неправильно, но, поскольку вся команда должна видеть заметки друг друга, наше единственное другое решение - загрузить данные (из БД) в БД MySQL, чтобы они могли делать заметки из своих браузер. Это делает его более универсальным, но вынуждает нас писать множество стандартных функций в Excel и создавать избыточные БД.


person Anthony    schedule 21.05.2009    source источник


Ответы (3)


Вау! Доступ к АРС через ODBC! Я предложил эту функцию архитектору, когда работал в штаб-квартире Remedy еще в девяностых. Хорошие времена.

В любом случае, я думаю, что ваш подход к совместному использованию листа Excel, который подключается к источнику ODBC, не самый простой путь. (Как вы обнаружили.) ]

ODBC всегда является локальным драйвером, на самом деле. Клиент локально подключается к ODBC. Затем ODBC может использовать сеть для подключения к базе данных.

Вместо этого я предлагаю изучить настройку Access с помощью таблицы, удаленно подключенной к системе ARS. Затем вы можете удаленно открыть таблицу Access через общий доступ к файлам, а не через DBMS-соединение. Я считаю, что это было бы легче начать, чем ваш текущий путь.

ХТХ,

Ларри

person Larry K    schedule 22.05.2009
comment
Где будет жить БД Access? Имейте в виду, что в какой-то момент все это должно быть нелокальным. Если я настрою это на сервере Windows, потребуется ли драйвер, если база данных ARS находится на том же сервере? - person Anthony; 22.05.2009
comment
Да, вам нужен драйвер ODBC для Excel или Access, чтобы получить доступ к базе данных ARS. БД ARS может быть локальной или удаленной. - person Larry K; 25.05.2009

Похоже, вы используете пользовательский DSN для подключения. Вы можете переключиться на подключение без DSN с помощью строки подключения. Если вам нужна помощь в этом, можете ли вы опубликовать код, который необходимо изменить?

person Oorang    schedule 29.05.2009

Во-первых, спасибо обоим пользователям, которые предоставили ответы. Вы оба очень помогли мне разобраться в проблеме.

Итак, получается, что, хотя вы не можете легко подключиться к базе данных Action Request DB напрямую, AR поддерживает веб-сервисы.

Вместо того, чтобы пытаться заставить Excel, Access, PHP или любую другую систему заниматься созданием Soap-клиента и выполнять эту работу самостоятельно, я придумал альтернативу, которую я считаю довольно умной, если я сам так говорю:

1) Создан php-скрипт, который вызывает веб-сервис с запрошенными данными,

2) Сценарий анализирует ответ в более общую форму XML,

3) script повторяет xml

4) Назовите скрипт "AR_Data_Request.xml"

5) Настройте каталог через файл .htaccess для обработки файлов xml, таких как php.

Теперь у меня есть статический XML-файл, который всегда содержит самые актуальные данные из Action Request. Я могу указать любые другие приложения (в частности, Excel) на этот XML-файл вместо того, чтобы писать код VBA для прямого запроса к веб-службе (и все равно придется делать это снова для php).

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

Еще раз спасибо!

person Anthony    schedule 04.06.2009