[Gvsig_desarrolladores] Crear tabla en gvSIG a partir de datos consultados de BD MySQL

Javier López jlopezviso en gmail.com
Jue Ago 2 11:37:33 CEST 2007


Hola,

Planteo una nueva pregunta, ya algo diferente al hilo anterior. Lo que
quiero ahora es crear una tabla en el proyecto cuando consulte datos de una
BBDD MySQL y hacer la union de la tabla asociada a la capa con ésta. Pero
aquí tengo el problema, ayer me llevé toda la tarde intentando crear la
tabla (resultante de una consulta a la BBDD MySQL) y no fuí capaz, porque no
encontraba el driver. Pongo el código a continuación:

        Connection conn = GestorConexiones.getConnection();

        System.out.println(conn.isClosed());

        String name = "mi_tabla";
        String driverInfo=" com.mysql.jdbc.Driver"; //"gdbms dbf driver";//"
com.mysql.jdbc.Driver";

        //Tiene que ser un new Driver, pq con el driver del dbf (el
comentado) no falla pero no encuentra la tabla

        System.out.println(driverInfo);

        //ConcreteMemoryDriver driver = new ConcreteMemoryDriver();
        //LayerFactory.getDataSourceFactory().getd

        LayerFactory.getDataSourceFactory ().addDBDataSourceBySQL(name,
conn, "select * from encuesta", driverInfo);

        System.out.println("LLEGA");

        DataSource dataSource =
LayerFactory.getDataSourceFactory().createRandomDataSource(name,
DataSourceFactory.AUTOMATIC_OPENING);

        System.out.println("NO LLEGA");

           SelectableDataSource sds = new SelectableDataSource(dataSource);
        EditableAdapter auxea = new EditableAdapter();
        auxea.setOriginalDataSource(sds);

        ProjectTable projectTable = ProjectFactory.createTable(name,auxea);

        ProjectExtension ext = (ProjectExtension)
PluginServices.getExtension(ProjectExtension.class ); ext.getProject
().addDocument(projectTable);


FALLA en createRandomDataSource, porque dice que no encuentra el driver, he
consultado también todos los drivers que hay en
LayerFactory.getDataSourceFactory() y el único que hay es el de la conexión
al dbf del shape.

¿Qué driver le tengo que indicar a
"LayerFactory.getDataSourceFactory().addDBDataSourceBySQL(name,
conn, "select * from encuesta", driverInfo); "? Me imagino que el driver de
mysql, pero tendré que crear un nuevo driver en el proyecto, para conexion a
la mysql.

Por favor si me podeis ayudar en esto os lo agradecería mucho ¿Como traerme
al proyecto datos de una BBDD mysql? necesito saber que clases usar. El
código de arriba lo he adaptado de una pregunta que hicieron en la lista de
desarrolladores, pero en la misma creaban una tabla a partir de un dbf, y el
driver lo creaban como DBFDriver, pero yo no tengo ninguna clase
MySQLDriver.

Espero vuestra ayuda.

Un saludo,
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20070802/d7845c02/attachment.htm


Más información sobre la lista de distribución gvSIG_desarrolladores