我最近花了很多时间做这项工作;我发现了几十个无法连接的人的帖子;但很少有答案。这些是我的经验:
Sage Timberline Office,现在名为Sage CRE 300,使用Pervasive SQL数据库。他们的升级途径是在2019年底前向SQL Server发展。
有可以用来连接2个ODBC连接:
1.使用本地普适的ODBC驱动程序
驱动程序包含在免费的普适客户端的ODBC。只需搜索最新的安装。
两者都包括32位32位32329,64位驱动程序。
PHP可以让你通过像一个简单的连接字符串连接:odbc_connect("Driver={Pervasive ODBC Interface};ServerName=myserver;ServerDSN=mydsn;", "", "", SQL_CUR_USE_ODBC);
普适有很多好了最新的文档可用。
一个巨大的缺点:你可以只有读取数据。 Sage字段在内部标记,需要密码才能更新。 Sage不会提供密码;即使是工资。 (我试过了)。
2.使用鼠尾草提供ODBC驱动程序
获得ODBC驱动程序的唯一方法是通过安装一个圣人客户端。 (但请继续阅读,因为您可能不想这样做)。
Sage ODBC驱动程序被称为Timberline Data和Simba产品。
该驱动程序仅适用于32位版本。
该驱动程序不仅仅是接口: - 普适表和字段名称较短;这个ODBC驱动器就像一个提供长名字的翻译器。这些长名称有两个版本。决定你想要使用什么,并坚持下去。 - Sage ODBC驱动程序允许更新字段。并非所有的领域;只是Sage允许你改变的领域。如果更新很关键,那么这是您的只有选项。
这是官方的连接字符串,以及如何你会使用它在PHP:
odbc_connect("Driver={Timberline Data};UID=Mark;PWD=sage123!;DBQ=C:\Documents and Settings\All Users\Application Data\Sage\Timberline Office\Data\Construction Sample Data;CODEPAGE=1252;DictionaryMode=0;StandardMode=1;MaxColSupport=1536;", "", "", SQL_CUR_USE_ODBC);
我没有使用了UID=Mark;PWD=sage123!;
当然,确保所有的反斜杠。 C:\\Documents and Settings\\All..
Sage指出他们的ODBC驱动程序只能用MS Office产品进行测试;但它也可以用C++,C#等(Per Sage支持)。
以下例外情况:我无法在C#或PHP连接字符串中使用UNC路径。 MS Access连接使用UNC路径没有问题。我无法让PHP使用字符串。映射的驱动器没有帮助;他们可能会为你工作。
提示:
- 确保使用PHP 32位为贤者ODBC驱动程序; 64位不会 工作!
- 用于测试与MS Access连接的ODBC驱动程序很容易;它是获取表格和字段名称的好方法,并且确认连接字符串为 。
- 我最终设置了一个Web服务器并在Sage服务器上安装了一个PHP实例。这具有以下优点:
- 无需在Web服务器上安装Sage Client(500MB)。
- 如果您以64位运行主站点,则提供32位选项。
- 与UNC路径
的建议不加圣人UNO没有问题。如果一家公司不想提供方便的连接和apis访问,而且几乎没有文档,那么他们的软件已经过时了。 SAGE DEVS我希望你阅读这篇文章! – BAR 2015-01-23 22:19:28