【问题标题】:Connect to OSI Pi database using PHP使用 PHP 连接到 OSI Pi 数据库
【发布时间】:2012-11-29 10:44:57
【问题描述】:

我正在尝试连接到 OSI Pi 数据库并不断收到以下错误。我正确设置了所有权限,因为我可以运行 VB 代码。它确实正确读取了服务器版本。

这是我的 PHP:

 <?php
 echo "I will connect to PI Server, read pisdk version and read server time";
 echo "<br>";
 $pisdkComObject = new COM("PISDK.PISDK") or die("Unable to instantiate PISDK object");
 echo "PI server version {$pisdkComObject->PISDKVersion}";
 $myServer = $pisdkComObject->Servers->Item("XXXX_SERVERNAME_XXXX");
 $myServer->Open();
 echo "<br>";
 echo "PI server time is {$myServer->ServerTime}";
 ?>

这是我的输出:

PI server 版本 1.3.6 致命错误:未捕获异常 'com_exception' 并带有消息 'Source: pisdk.dll 描述:无法在服务器上打开会话。 [-10728] PINET:发送错误。在 E:\XXXX.php:12 堆栈跟踪:#0 E:XXXX.php(12): variant->Open() #1 {main} 在第 12 行的 E:XXXX.php 中抛出

【问题讨论】:

  • 您是否尝试在您的 PI Server 上添加信任?不带参数的 open 方法使用 Trusted 或 windows 身份验证进行连接。

标签: php osi


【解决方案1】:

这是另一种方法: 先决条件是安装 PI OLEDB Provider。

然后转到http://adodb.org/dokuwiki/doku.php 并按照指示安装用于 php 的 ADODB 库。那里也有一些关于图书馆的介绍性信息。

我的下一步是生成一个 UDL(保存一个扩展名为“.udl”的空白文本文件),然后双击它以打开“数据链接属性”对话框。在提供程序选项卡下,选择“PI OLE DB 提供程序”。在 Connection 选项卡下,在 Data Source 文本框中输入您的 pi 服务器的名称。您还需要为您的服务器配置唯一的登录信息。对于这个开发连接,我使用“piarchive”作为我的“初始目录使用”。 [测试连接]成功后点击[确定]即可。

然后右键单击您的 UDL 并使用记事本或任何文本编辑器打开。选择并复制连接字符串(即“Provider=PIOLEDB.1;. . . etc.)。

接下来是我用来为 CDT158 标记生成一个小值表和一个相应数组的代码。在我的开发版本中,我将此代码放在了正文标记之间。

Open("Provider=PIOLEDB.1;初始目录=piarchive; 数据源=yourPIServerNameHere;Persist Security Info=False"); $result_set = $connection->执行(" 选择标签、时间、值 来自 picomp WHERE TIME >= '*-90m' AND tag = 'cdt158' "); $result_count = 0; $标签=数组(); 而 (!$result_set->EOF) { 打印 $result_set->fields[0].' | '.$result_set->fields[1].' | '.$result_set->fields[2].'
'; array_push($labels, "{$result_set->fields[1]}"); $result_count = $result_count +1; $result_set->MoveNext(); } echo "
检索到的记录数为:".$result_count."

"; 回声“
”;
        print_r($标签); // 这显示生成的数组。
    回声“
”; $result_set->关闭(); // 可选的 $连接->关闭(); // 可选的 ?>

【讨论】:

猜你喜欢
  • 2015-01-24
  • 2014-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多