Foros del Web » Programación para mayores de 30 ;) » Java »

WebSphere y acceso a datasource

Estas en el tema de WebSphere y acceso a datasource en el foro de Java en Foros del Web. Hola Estoy teniendo un problema a la hora de implantar una aplicación web en WebSphere, a ver si alguien puede ayudarme con esto. Para el ...
  #1 (permalink)  
Antiguo 13/05/2011, 01:39
 
Fecha de Ingreso: julio-2010
Mensajes: 27
Antigüedad: 14 años, 4 meses
Puntos: 2
WebSphere y acceso a datasource

Hola

Estoy teniendo un problema a la hora de implantar una aplicación web en WebSphere, a ver si alguien puede ayudarme con esto.

Para el acceso a datos, utilizo un datasource definido en WebSphere (Recuros->JDBC->Origenes de datos).
En el proyecto, defino el web.xml de esta forma:

Código HTML:
 <resource-ref id="ResourceRef_1286446335575">
    	<description>
    	</description>
    	<res-ref-name>jdbc/aplicacion</res-ref-name>
    	<res-type>javax.sql.DataSource</res-type>
    	<res-auth>Container</res-auth>
    	<res-sharing-scope>Shareable</res-sharing-scope>
   </resource-ref> 
Y se generan automáticamente los archivos ibm-web-bnd.xmi y ibm-web-ext.xmi.
En el ibm-web-bnd.xmi tenemos lo siguiente:
Código HTML:
<resRefBindings xmi:id="ResourceRefBinding_1286446335575" jndiName="jdbc/aplicacion" loginConfigurationName="DefaultPrincipalMapping">
    <bindingResourceRef href="WEB-INF/web.xml#ResourceRef_1286446335575"/>
    <properties xmi:id="Property_1286446335606" name="com.ibm.mapping.authDataAlias" value="Node01/aplicacion" description="container-managed auth alias from resource-ref"/>
  </resRefBindings> 
Todo funciona correctamente cuando el datasource lo defino con autenticación gestionada por componentes. Pero es necesario, que la autenticación sea por contenedor. Cuando cambio esto, se genera una excepción en código al llegar a
conexion = dataSource.getConnection();

La excepción que se genera es
java.sql.SQLException: argumentos no válidos en la llamadaDSRA0010E: Estado SQL = null, Código de error = 17.433


Muchas gracias, un saludo
  #2 (permalink)  
Antiguo 14/05/2011, 01:36
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 22 años
Puntos: 37
Respuesta: WebSphere y acceso a datasource

Yo uso conexion a la base de datos con una clase y el driver adecuado (Sql Server, MySql, Db2, Access)...algo asi:

//--------------
// A) Seccion de apertura de base de datos MySql (unico registro)
//--------------
Database database= new Database();
Connection con = DriverManager.getConnection(database.getUrl(),data base.getUsuario(), database.getPassword());

Statement stmt = con.createStatement();
String strSql = "SELECT * FROM administracion ";
System.out.println(strSql);
//stmt.executeUpdate(strSql);
ResultSet rs = stmt.executeQuery(strSql);
// Inserta nuevo registro
if (rs.next()){



LA CLASE DATABASE
public class Database {
//String url="jdbc:odbc:DNS";
String url="jdbc:mysql://localhost/abscaja";
String usuario="root";
String password="mysql"; //mysql laptop admin pc
//setUrl();
/**
* @return
*/
public String getPassword() {
return password;
}
/**
* @return
*/
public String getUrl() {
return url;
}
/**
* @return
*/
public String getUsuario() {
return usuario;
}
/**
* @param string
*/
public void setPassword(String string) {
password = string;
}

/**
* @param string
*/
public void setUrl(String string) {
url = string;
}
/**
* @param string
*/
public void setUsuario(String string) {
usuario = string;
}
}
  #3 (permalink)  
Antiguo 18/05/2011, 00:58
 
Fecha de Ingreso: julio-2010
Mensajes: 27
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: WebSphere y acceso a datasource

Hola

Gracias por responder.
El problema es que yo prefería no indicar el usuario y contraseña en la llamada "getConnection".
Se supone que como ya he creado el datasource en el WebSphere, no haría falta. Por ejemplo, si defino el datasource con autentificación por componentes, no son necesarios parámetros en la llamada getConnection.

Es posible esto ?

Gracias
  #4 (permalink)  
Antiguo 18/05/2011, 08:18
 
Fecha de Ingreso: julio-2010
Mensajes: 27
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: WebSphere y acceso a datasource

I fix my problem:

Código HTML:
Ver original
  1. DataSource ds = (DataSource) cxt.lookup("java:comp/env/jdbc/aplicacion");
  2.  
  3. conexion = ds.getConnection();

instead of

Código HTML:
Ver original
  1. DataSource ds = (DataSource) cxt.lookup("jdbc/aplicacion");
  2.  
  3. conexion = ds.getConnection();


!!!!!!!!!!!!!!! yeah !!!!!!!!!!!!!!!!!!

Etiquetas: datasource, websphere
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:15.