LogOnServer("p2ssql.dl-6ren">
gpt4 book ai didi

php - 生成 Crystal Reports 报告的代码在 CLI 中运行良好,但从浏览器访问时为 "Data source name not found"

转载 作者:可可西里 更新时间:2023-11-01 13:31:08 25 4
gpt4 key购买 nike

我正在尝试使用 Crystal Reports 从 PHP 生成报告,代码似乎是正确的:

<?php
set_time_limit(0);
if(isset($_GET['id']))
{
$id = $_GET['id'];
} else {
die('Please specify an ID');
}

$path = "c:\\wamp\\www\\billing\\reports";
$file = $chemin."\\bill_".$id.".pdf";
$app_obj = new COM("CrystalRuntime.Application") or Die ("Did not open");
$report= $path."\\bill.rpt";

$rpt_obj= $app_obj->OpenReport($report,1);
$app_obj->LogOnServer("p2ssql.dll","host","bdd","userbd","passwordbd");
$rpt_obj->EnableParameterPrompting = FALSE;
$rpt_obj->RecordSelectionFormula = "{F_DOCLIGNE.DO_Piece}='$id'";

$rpt_obj->ExportOptions->DiskFileName = $file;
$rpt_obj->ExportOptions->PDFExportAllPages = true;
$rpt_obj->ExportOptions->DestinationType = 1;
$rpt_obj->ExportOptions->FormatType = 31;
$rpt_obj->Export(false);

header("Content-Type: application/pdf");
readfile($file);
?>

如果我从命令行运行脚本,它工作得很好,我在控制台中导出和解析了 PDF。

但是从浏览器的角度来看,情况就不同了,如果您通过 Apache 收到请求,我会收到此异常:

com_exception: Source: Crystal Reports ActiveX Designer
Details : IM002:[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified in C:\wamp\www\facture\report.php on line 25

在报告中,数据库连接是通过 ODBC 建立的,我无法使用它,因为任何其他标有 ODBC 的驱动程序都拒绝工作。


最佳答案

您可能需要设置一些环境变量。以下是我为使用不同的 ODBC 驱动程序而必须设置的内容(注意:在 OS X 上)。

<?php
putenv("ODBCINSTINI=/path/to/odbcinst.ini");
putenv("ODBCINI=/path/to/odbc.ini");
?>

关于php - 生成 Crystal Reports 报告的代码在 CLI 中运行良好,但从浏览器访问时为 "Data source name not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5939407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com