2

我在 Excel 中有一个电子表格,它使用软件的 odbc 驱动程序(操作请求系统)连接到内部数据库。这很好用。现在,我正在尝试将 Excel 文件移动到 SharePoint 网站,以便我们的团队可以在同一个电子表格中查看数据并做笔记。

因此,首先我尝试将 Excel 文件移动到服务器,但意识到文件中保存的连接指向我计算机上的连接文件。所以我把它移到了 SharePoint 网站,这似乎正在工作......除了:

1)在某些计算机上,它可以正常打开。但是,如果要求数据库登录和密码的对话框是自定义的,我会更喜欢它。

2) 在其他电脑上,安装了软件和驱动程序,但是没有出现在用户源列表中,所以会报错。当用户去创建一个新连接时,驱动程序就在那里,(所以它不在第一个列表中,但它在更大的列表中)。

3) Mac 可以打开文件,但 Excel 2008 不能做宏和连接。

4) 从同一站点打开同一文件每次都会引发信任中心警告,即使在同一台计算机/同一用户上也是如此。

有没有办法做以下任何事情?

  • 有一个非宏来阻止用户保存(并因此覆盖)工作表,直到确认用户不会更改连接/宏?

  • 允许用户从本地配置进行连接(以防他们可以设置一个在主配置失败时工作),以便他们可以使用该配置进行连接,但不会为其他人搞砸。

  • 设置信任设置(我想是本地或服务器上的),以便始终信任来自特定 SharePoint 的任何文件?

最后,这是一个大...

您可以使用不在本地计算机上的驱动程序创建连接吗?如果驱动程序安装在远程服务器上,Excel 可以使用那个吗?如果是这样,那将解决几乎所有其他问题(除非您使用的是 Mac)。

我觉得我在这有点错误,但由于团队都需要看到彼此的笔记,我们唯一的其他解决方案是将数据(从数据库)上传到 MySQL 数据库,以便他们可以从他们的笔记浏览器。这使它更普遍可用,但迫使我们编写许多 Excel 中标准的函数并创建冗余 DB。

4

3 回答 3

0

听起来您正在使用用户 DSN 进行连接。您可以使用连接字符串切换到无 DSN 连接。如果您需要一些帮助,您可以发布需要修改的代码吗?

于 2009-05-29T17:38:55.110 回答
0

首先,感谢提供答案的两位用户。你们两个都对我解决这个问题很有帮助。

因此,事实证明,虽然您不能轻松地直接连接到 Action Request DB,但 AR 确实支持 Web 服务。

我没有尝试让 Excel、Access、PHP 或任何其他系统处理创建 Soap 客户端并自己处理工作,而是想出了一个我认为相当聪明的替代方案,如果我自己这么说的话:

1) 创建一个 php 脚本,用请求的数据调用 Web 服务,

2) 脚本将响应解析为更通用的 XML 形式,

3) 脚本回显 xml

4) 将脚本命名为“AR_Data_Request.xml”

5)通过.htaccess文件配置目录,将xml文件视为php

现在,我有一个静态 xml 文件,它始终包含来自 Action Request 的最新数据。我可以将任何其他应用程序(特别是 Excel)指向该 xml 文件,而不必编写 VBA 代码来直接查询 Web 服务(对于 php,仍然必须再次执行此操作)。

唯一的问题是我无法让 php 连接到 Web 服务(doh!),但这将是我的下一个问题。

再次感谢!

于 2009-06-04T23:16:03.727 回答
0

哇!通过 ODBC 访问 ARS!九十年代我在 Remedy HQ 工作时,我向架构师提出了这个功能。伟大的时代。

无论如何,我认为您共享连接到 ODBC 源的 Excel 工作表的方法并不是最简单的方法。(正如你所发现的那样。)]

ODBC 始终是本地驱动程序,afaik。客户端本地连接到 ODBC。然后 ODBC 可以使用网络连接到 DB。

相反,我建议您调查使用远程连接到 ARS 系统的表设置 Access。然后,您可以通过文件共享而不是 dbms 连接远程打开 Access 表。我相信这会比你目前的道路更容易上手。

高温下,

拉里

于 2009-05-22T01:44:41.770 回答