Forums

Home » Liferay Portal » Español » 3. Desarrollo

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Juan Tapia
PHP Portlet, acceso a base de datos externa
December 12, 2012 6:35 AM
Answer

Juan Tapia

Rank: New Member

Posts: 7

Join Date: July 2, 2012

Recent Posts

Hola,

estoy desarrollando un portlet con PHP. He conseguido que conecte a la base de datos que tengo configurada en el Tomcat.
El problema lo tengo cuando intento conectarme a una base de datos externa vía JNDI.

Estoy utilizando Liferay 5.2.3 + Tomcat 6.0.18

Os explico los pasos que he seguido:

He añadido en el fichero META-INF/context.xml del portlet lo siguiente:

<Context
antiJARLocking="true"
antiResourceLocking="true"
>
<Resource name="jdbc/MySQLDatabase"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
username=""
password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://:3306/prueba"
maxActive="20"
maxIdle="4"/>
</Context>

En el fichero WEB-INF/web.xml del portlet he añadido:
<web-app>
...

<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/MySQLDatabase</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>

El fichero index.php contiene el siguiente código:
<?php
echo 'Hello World!'."<br/>";

$dbh = new PDO('java:comp/env/jdbc/MySQLDatabase');
if ($dbh) {
$sql="SELECT * FROM user_";
foreach ($dbh->query($sql) as $row) {
echo "
".$row['screenName'] . "

";
}
}
?>

He intentado añadir el nuevo data source en el context.xml del tomcat pero tampoco funciona.

He probado de cambiar la cadena JNDI por: java:jdbc/MySQLDatabase o java_liferay:jdbc/MySQLDatabase o
java_liferay:comp/env/jdbc/MySQLDatabase
En todos los casos el resultado es el mismo, el portlet se carga en la página pero me aparece el siguiente mensaje:

Hello World!
/C:/Proyectos/liferay-portal-5.2.3/tomcat-6.0.18/temp/1-helloworld/index.php:4: Fatal Error: 'java_liferay:jdbc/MySQLDatabase' is an unknown PDO JNDI data source.

Álguien tiene idea de qué puede estar pasando, qué no estoy haciendo bien?

Muchas gracias de antemano,


Juan
Juan Tapia
RE: PHP Portlet, acceso a base de datos externa
December 27, 2012 8:51 AM
Answer

Juan Tapia

Rank: New Member

Posts: 7

Join Date: July 2, 2012

Recent Posts

A alguien se le ocurre que puede estar pasando?

Muchas gracias!


Juan
Asier Del Pozo
RE: PHP Portlet, acceso a base de datos externa
December 27, 2012 9:31 AM
Answer

Asier Del Pozo

Rank: Junior Member

Posts: 69

Join Date: November 12, 2007

Recent Posts

Hola Juan,

Has probado a revisar si te esta buscando la conexion en /ubicacion_tomcat/conf/Catalina/localhost/ROOT.xml?

Saludos,
Asier
Juan Tapia
RE: PHP Portlet, acceso a base de datos externa
December 28, 2012 1:11 AM
Answer

Juan Tapia

Rank: New Member

Posts: 7

Join Date: July 2, 2012

Recent Posts

Hola Asier,

he probado de añadir el datasource en /ubicacion_tomcat/conf/Catalina/localhost/ROOT.xml pero me sigue dando el mismo error de unknown PDO JNDI data source.

Gracias por el comentario. Alguna otra idea?


Saludos,

Juan