1

我参与部署 SSRS SDK ( http://ssrsphp.codeplex.com ) 以访问 Reporting Services 已有一段时间了。但是无论我遵循的任何教程、博客、工作示例都表明使用“SQL Server 2008 Express with Advanced Services edition”。是否仅在该版本中支持此 SDK。

目前我使用的是 SQL Server 2008(不是快速版)。到目前为止,我得到的只是:-

Failed to connect to Reporting Service
Make sure that the url (http://localhost:80/reportServer/) and credentials are correct!

对于代码: -

<?php require_once 'SSRSReport.php';
try{
    $ssrs_report = new SSRSReport(new Credentials(UID, PASWD), SERVICE_URL);
}catch (SSRSReportException $serviceException){
    echo $serviceException->GetErrorMessage();
}?>   

虽然我已经在我的机器中正确设置了报告服务器,而且我的凭据也是正确的;但我无处可去。

4

3 回答 3

1

您还可以输入位于“:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer”中的 rsreportserver.config 文件的身份验证类型。

<Authentication>
    <AuthenticationTypes>
        <RSWindowsNTLM/>
        <RSWindowsBasic/>
    <AuthenticationTypes>
<Authentication>

参考

于 2013-06-14T01:17:02.053 回答
0

有几件事可能发生。

可以直接通过 URL访问http://localhost:80/reportServer/吗?它会提示您输入用户\密码吗?您的 SSRS 实例是否称为默认实例?

于 2012-04-30T13:12:22.437 回答
0

发现在企业版中使用SSRSPHP是完全可以的。当代码尝试查看 Web 服务 URL 是否正常时,此库一直抛出异常。请参阅从第 195 行开始的 SSRSReport.php 上的以下行:

$context = stream_context_create($stream_conext_params);
$content = @file_get_contents($executionServiceUrl, false, $context); 
if ($content === FALSE)
    {
        throw new SSRSReportException("",
                    "Failed to connect to Reporting Service  <br/> Make sure " .
                    "that the url ($this->_BaseUrl) and credentials are correct!");
    }   

您会看到“无法连接到报告服务...”的异常一直出现在我和其他人身上。这是无法修复的错误。我可以解释这一点,但现在不是正确的时间。只要让它像下面这样,工作就完成了。

$context = stream_context_create($stream_conext_params);
$content = @file_get_contents($executionServiceUrl, false, $context);
if ($content === FALSE)
{
    //throw new SSRSReportException("",
      //          "Failed to connect to Reporting Service  <br/> Make sure " .
       //        "that the url ($this->_BaseUrl) and credentials are correct!");
}

它有效,真的!这一直对我有用。我希望你也一样。

于 2012-11-20T11:32:58.977 回答