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

Participate in the State of Liferay Community 2017. Help the community and even win some prizes!