faizq Posted January 13, 2015 Share Posted January 13, 2015 Hello I am using SQL Server 2008 and Xampp server for PHP. I am trying to call SQL Server reports from PHP and I am using the code from https://ssrsphp.codeplex.com/discussions/577518# I can call the URL which connects to the Reports server from PHP but when I try to click the dropdown and run the reports I get an error. Fatal error: Class 'PReportException' not found in E:\PHP_SRS\ssrsphp\Factory\SSRSTypeFactory.php on line 75 Can someone please tell me how to fix this error ? Thanks Link to comment https://forums.phpfreaks.com/topic/293894-help-needed-in-configuring-php-to-call-sql-server-reports/ Share on other sites More sharing options...
QuickOldCar Posted January 13, 2015 Share Posted January 13, 2015 The developer should fix this. Taking a wild guess that they are calling the class PReportException when should be calling SSRSReportException I looked fast through the source code. sample hello world require_once 'SSRSReport.php'; catch(SSRSReportException $serviceExcprion){ echo $serviceExcprion->GetErrorMessage();} SSRSReport/bin/SSRSReport.php require_once 'SSRSReportException.php'; class SSRSReportException extends Exception{ But in \Factory\SSRSTypeFactory.php all throughout code is this throw new PReportException( Try using this SSRSTypeFactory.php file <?php /** * * Copyright (c) 2009, Persistent Systems Limited * * Redistribution and use, with or without modification, are permitted * provided that the following conditions are met: * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * - Neither the name of Persistent Systems Limited nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /** * * class SSRSTypeFactory */ class SSRSTypeFactory { /** * * @var array */ private static $SSRSTypes = array(); /** * * @var array */ private static $SSRSEnums = array(); /** * To register a SSRS type with factory * @param string $ssrsType */ public static function RegsiterType($ssrsType) { $class = new ReflectionClass($ssrsType); if (! $class->implementsInterface('ISSRSBaseType')) { throw new SSRSReportException("", "Only classes which implements 'ISSRSBaseType' " . "can be registered with SSRSTypeFactory"); } self::$SSRSTypes[$ssrsType] = $ssrsType; } /** * To register an ssrs enum with factory * @param string $ssrsEnum */ public static function RegisterEnum($ssrsEnum) { self::$SSRSEnums[$ssrsEnum] = $ssrsEnum; } public static function CreateSSRSObject($ssrsType, $stdObject) { if (!array_key_exists($ssrsType, self::$SSRSTypes)) { throw new SSRSReportException("", "Requested SSRS Type $ssrsType is not Registered!"); } $class = new ReflectionClass($ssrsType); $object = $class->newInstance(); $object->FromStdObject($stdObject); return $object; } /** * To get the generic type of a type (basic or ssrs) * @param string $type * @return string */ public static function GetType($type) { $retType = 'unknown'; if($type == 'bool' || $type == 'int' || $type == 'DateTime' || $type == 'string' || $type == 'double') { $retType = 'basic'; } else if(array_key_exists($type, self::$SSRSTypes) || array_key_exists($type, self::$SSRSEnums) ) { $retType = 'ssrs'; } return $retType; } } ?> Link to comment https://forums.phpfreaks.com/topic/293894-help-needed-in-configuring-php-to-call-sql-server-reports/#findComment-1502835 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.