执行 BIRT 报告时出现异常

Exception when executing a BIRT report

尝试从 PHP 页面 运行 报告 BIRT 时:

new runReport("rptPrixParDaty.rptdesign", array(), "prixpardaty");

然后我在生成的 pdf 文件中得到了这个异常:

[[o:Exception]:"java.lang.Exception: Invoke failed: [[c:connectDb]]->getConnection((o:String)[o:String], (o:String)[o:String], (o:String)[o:String], (o:String)[o:String], (o:String)[o:String]). Cause: org.postgresql.util.PSQLException: Erreur de protocole. Ouverture de la session en échec. VM: 1.7.0_45@http://java.oracle.com/" at:
#-21 org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:520)
#-20 org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:181)
#-19 org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64)
#-18 org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:144)
#-17 org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:29)
#-16 org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:21)
#-15 org.postgresql.jdbc3g.Jdbc3gConnection.<init>(Jdbc3gConnection.java:24)
#-14 org.postgresql.Driver.makeConnection(Driver.java:410)
#-13 org.postgresql.Driver.connect(Driver.java:280)
#-12 java.sql.DriverManager.getConnection(DriverManager.java:571)
#-11 java.sql.DriverManager.getConnection(DriverManager.java:215)
#-10 connectDb.getConnection(connectDb.java:23)
#-9 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
#-8 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
#-7 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#-6 java.lang.reflect.Method.invoke(Method.java:606)
#-5 php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1044)
#-4 php.java.bridge.Request.handleRequest(Request.java:417)
#-3 php.java.bridge.Request.handleRequests(Request.java:500)
#-2 php.java.bridge.http.ContextRunner.run(ContextRunner.java:145)
#-1 php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)
#0 D:\wamp\www\bazarmada\birt\java\Java.inc(232): java_ThrowExceptionProxyFactory->getProxy(12, 'java.util.HashM...', 'T', true)
#1 D:\wamp\www\bazarmada\birt\java\Java.inc(360): java_Arg->getResult(true)
#2 D:\wamp\www\bazarmada\birt\java\Java.inc(366): java_Client->getWrappedResult(true)
#3 D:\wamp\www\bazarmada\birt\java\Java.inc(560): java_Client->getResult()
#4 D:\wamp\www\bazarmada\birt\java\Java.inc(1752): java_Client->invokeMethod(6, 'getConnection', Array)
#5 D:\wamp\www\bazarmada\birt\java\Java.inc(1851): java_JavaProxy->__call('getConnection', Array)
#6 D:\wamp\www\bazarmada\birt\java\Java.inc(1999): java_AbstractJava->__call('getConnection', Array)
#7 D:\wamp\www\bazarmada\birt\runReport.php(37): Java->__call('getConnection', Array)
#8 D:\wamp\www\bazarmada\birt\runReport.php(37): Java->getConnection('localhost', '3306', 'bazarmada', 'root', '')
#9 D:\wamp\www\bazarmada\ajax\service\ServiceGererProduitGrapheAjax.php(70): runReport->runReport('rptPrixParDaty....', Array, 'prixpardaty')
#10 {main}]

我的电脑中有 2 个数据库:1 个 postgresql 和 1 个 MySQL 数据库。 Web 应用程序已配置为以 MySQL 数据库为目标。那怎么了?

检查您是否已在连接字符串中正确配置 URL 到 PostgreSQL 服务器。还要检查 PostgreSQL 服务器的版本和您正在使用的 JDBC 驱动程序的版本。