ODBC-соединение с проприетарным драйвером / настройки Excel Trust - PullRequest
2 голосов
/ 22 мая 2009

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

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

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

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

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

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

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

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

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

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

Наконец, и это большой ...

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

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

Ответы [ 3 ]

0 голосов
/ 29 мая 2009

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

0 голосов
/ 05 июня 2009

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

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

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

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

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

3) скрипт повторяет xml

4) Назовите сценарий "AR_Data_Request.xml"

5) С помощью файла .htaccess настройте каталог для обработки XML-файлов, таких как php

.

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

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

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

0 голосов
/ 22 мая 2009

Вау! Доступ к ARS через ODBC! Я предложил эту особенность архитектору, когда работал в Remedy HQ еще в девяностых. Отличные времена.

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

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

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

НТН,

Larry

...