ODBC连接专有驱动程序/ Excel信任设置

时间:2009-05-21 23:50:11

标签: excel vba odbc drivers excel-2008

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

所以,首先我尝试将Excel文件移动到服务器,但意识到保存在文件中的连接指向我计算机上的连接文件。所以我把它移到了SharePoint站点,这看起来很有效......除了:

1)在某些计算机上,它打开就好了。但是如果要求登录的对话框和数据库的pw是自定义的,我更喜欢它。

2)在其他计算机上,软件和驱动程序已安装,但未显示在用户来源列表中,因此会引发错误。当用户创建新连接时,驱动程序就在那里(因此它不在第一个列表中,但它在较大的列表中)。

3)Mac可以打开文件,但Excel 2008无法执行宏和连接。

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

有没有办法执行以下任何操作?

  • 使用非宏来阻止用户保存(从而覆盖)工作表,直到确认用户不会对连接/宏进行更改为止?

  • 允许用户从本地配置进行连接(如果他们可以设置一个在主要配置失败时工作的配置),以便他们可以使用该连接进行连接,但不能将其用于其他所有人。

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

最后,这是最重要的......

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

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

3 个答案:

答案 0 :(得分:0)

哇!通过ODBC访问ARS!当我在九十年代在Remedy HQ工作时,我向建筑师提出了这个功能。美好的时光。

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

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

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

HTH,

拉​​里

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

因此,事实证明,虽然您无法直接连接到Action Request DB,但AR确实支持Web服务。

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

1)创建了一个php脚本,用所请求的数据调用Web Service,

2)脚本将响应解析为更通用的XML表单

3)脚本回显xml

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

5)通过.htaccess文件配置目录,以处理像php

这样的xml文件

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

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

再次感谢!