0

我正在开发一个数据桥项目,它将在 SalesLogix (OLEDB)、Sqlite 3 和 Pick/D3 之间传输数据。为了完成这个项目,我正在查看 ADODB。这个项目是公司选择的一个更大的 CRM 项目的一部分。我们正在处理的供应商希望我使用 Visual Studio 2013 和 .NET 语言。大多数商业智能已经在 PHP 中。

这是我的测试 Php ADODB CLI 程序:

$crlf = "\r\n";

// connection string
$cs = 'Provider=SLXOLEDB.1;Password=XX;Persist Security Info=True;';
$cs .= 'User ID=admin;Initial Catalog=PRIDE;Data Source=CRMAP;';
$cs .= "Extended Properties='PORT=1706;LOG=ON;CASEINSENSITIVEFIND=ON;";
$cs .= "AUTOINCBATCHSIZE=1;SVRCERT=;'";

try
   {
   $db = ADONewConnection('ado');
   $db->debug = true;
   }
catch(exception $e)
   {
   print "ADONewConnection failed$crlf";
   var_dump($e);
   adodb_backtrace($e->gettrace());
   }

try
   {
   $db->Connect($cs);
   }
catch(exception $e)
   {
   print "connect failed$crlf";
   var_dump($e);
   adodb_backtrace($e->gettrace());
   }
?>

我在安装了 Php 5.3.10 和最新版本的 ADODB 的 Windows 7 PC 上运行它。我正在尝试连接到 SalesLogix 应用程序服务器。SalesLogix 有一个 OLE 提供程序,我正在尝试在此之上使用 ADODB 的 ADO 通用驱动程序。我还应该说 VB .NET 能够使用与上面相同的连接字符串连接到 SalesLogix 应用程序服务器。当我运行我的 PHP 程序时,我得到:

version=6.1
cs=Provider=SLXOLEDB.1;Password=XX;Persist Security Info=True;User ID=admin;
Initial Catalog=PRIDE;Data Source=CRMAP;Extended Properties='PORT=1706;LOG=ON;
CASEINSENSITIVEFIND=ON;AUTOINCBATCHSIZE=1;SVRCERT=;'

exception 'com_exception' with message 'Source: Microsoft OLE DB Service Components

Description: Format of the initialization string does not conform to the OLE DB
specification.' in C:\wamp\www\CRM\Php\adodb\drivers\adodb-ado5.inc.php:117

Stack trace:
#0 C:\wamp\www\CRM\Php\adodb\drivers\adodb-ado5.inc.php(117):
com->Open('Provider=SLXOLE...')

#1 C:\wamp\www\CRM\Php\adodb\adodb.inc.php(550): 
ADODB_ado->_connect('Provider=SLXOLE...', '', '', '')

#2 C:\wamp\www\CRM\Php\crm-test1.php(28): 
ADOConnection->Connect('Provider=SLXOLE...')

我的问题是:ADODB 连接字符串必须采用什么形式,我怎样才能让它工作?

TIA,瑞克

4

1 回答 1

0

请参阅以下有关 SalesLogix/Infor CRM 连接字符串格式的文章:

了解 SalesLogix OLE DB 连接字符串

尽管本文是针对 6.1 及之前的版本编写的,但大多数(如果不是全部)仍然适用于最新版本(发表评论时为 8.1)。

于 2014-12-13T20:10:42.400 回答