Autor
|
Tema: ¿No se encuentra origen de datos? (Leído 27,309 veces)
|
|Miguel|
Desconectado
Mensajes: 217
|
Hola, buenas... veamos estoy intentando actualizar una base de datos de Access desde Java con el siguiente código: String nom =jtxtNombre. getText(), ape1 =jtxtApellido1. getText(), ape2 =jtxtApellido2. getText(), id =jtxtNum. getText(); String DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver"; String miDB = "jdbc:odbc:propietarios"; try { Class.forName(DRIVER); PreparedStatement select = conexion. prepareStatement("SELECT * FROM Propietario where dni='"+id +"';"); select=conexion.prepareStatement("update propietario set nombre='"+nom+"', apellido1='"+ape1+"', apellido2='"+ape2+"' where dni='"+id+"';"); select.executeUpdate(); rs.close(); select.close(); conexion.close(); } System. out. println("Error: " + e ); }
Y me da el siguiente error (excepción, en realidad): Error: java.sql.SQLException: [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especific? ning?n controlador predeterminado No entiendo qué le pasa. He definido mi archivo de base de datos desde Herramientas administrativas/Orígenes de datos ODBC. Adjunto captura de la configuración... Saludos, y gracias!
|
|
|
En línea
|
|
|
|
|Miguel|
Desconectado
Mensajes: 217
|
Utilizando unos cuantos print he localizado la línea que falla, esta:
Pero no llego a ver el fallo... El código completo de cómo he aislado la línea donde casca es este: int i=1; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");System.out.print(i);i++; PreparedStatement select = conexion. prepareStatement("SELECT * FROM Propietario;");System. out. print(i );i ++; ResultSet rs = select. executeQuery();System. out. print(i );i ++;
EDITO: 12Error: java.sql.SQLException: [Microsoft][Administrador de controladores ODBC] La arquitectura del DSN especificado no coincide entre el controlador y la aplicaci?n.
|
|
« Última modificación: 14 Febrero 2012, 20:57 pm por |Miguel| »
|
En línea
|
|
|
|
|Miguel|
Desconectado
Mensajes: 217
|
He probado el programa tal cual, sin tocar código, en una máquina de 32 bits (antes lo hice en una de 64) y funciona perfectamente.
Mañana indagaré sobre el asunto, porque ya sabía que ese tema daba problemas pero supuestamente se solventaba utilizando este archivo c:\windows\syswow64\odbcad32.exe en lugar del acceso directo que hay en Herramientas adminsitrativas... pero no, por lo visto hay algo que desconozco o debo haber olvidado...
Saludos.
|
|
|
En línea
|
|
|
|
jperezmonge
Desconectado
Mensajes: 24
Chronos Estudios
|
No se si te ayuda algo o quizás entiendas mas que yo y te rías de mi. Yo trabajo con mysql y lo único que tengo que hacer es al proyecto con el que estoy trabajando adjuntar el jar donde están los driver, no se si te sirve de algo.
|
|
|
En línea
|
|
|
|
|Miguel|
Desconectado
Mensajes: 217
|
Al final era lo que comentaba antes, que al compilar en una máquina de 64 bits había que bajar el JDK a uno de 32 ya que no existen ODBC's de 64.
Lo que tú dices creo que es otra cosa, los driver hay que pasárselos siempre si no me equivoco... no sé, acabo de empezar a trastear con BBDD .
|
|
|
En línea
|
|
|
|
jperezmonge
Desconectado
Mensajes: 24
Chronos Estudios
|
entonces estamos igual
|
|
|
En línea
|
|
|
|
theluigy13etv
Desconectado
Mensajes: 179
Primero se hace, después se mejora
|
Mañana indagaré sobre el asunto, porque ya sabía que ese tema daba problemas pero supuestamente se solventaba utilizando este archivo c:\windows\syswow64\odbcad32.exe en lugar del acceso directo que hay en Herramientas adminsitrativas... pero no, por lo visto hay algo que desconozco o debo haber olvidado... Disculpen que reviva este post pero creo que tengo la solución. En windows 7 de 64 bits existen dos archivos odbcad32.exe que se encuentran en dos ubicaciones distintas. c:\windows\syswow64\ .....<---- (Aquí esta el ODBC de 32 bits, no te confundas por los números contradictorios) c:\windows\System32\ ..........<---- (Aquí esta el ODBC de 64 bits La diferencia entre ambas es que el primero tiene la lista de controladores ODBC de 32 bits mientras que la segunda tiene la lista de controladores ODBC de 64 bits. Por defecto, cuando ingresas a Orígenes de Datos ODBC en el Panel de Control, te manda al Administrador ODBC de 64 bits. Pero en dicho Administrador no vas a encontrar el controlador de 64 bits de Access, en cambio si ingresas al segundo, osea, al que se encuentra en c:\windows\syswow64\ allí si lo encuentras. Con eso logras seleccionar el controlador 32 bits de Access. Pero creo que él error ocurre porque estás compilando tu trabajo en un JDK para 64 bits. Yo lo que hice fue instalar el JDK de 32 bits, no necesité desinstalar el JDK de 64 bits, ya que se isntalan en carpetas diferentes. Luego, como utilizo el NetBeans, en las propiedades de proyecto, elijo el JDK que quiero utilizar para generar mi programa. Así, utilizando el JDK de 32 bits no hay ningún problema para conectar tu programa con la base de Datos de Access.
|
|
« Última modificación: 23 Septiembre 2012, 04:11 am por theluigy13etv »
|
En línea
|
|
|
|
isakmtz
Desconectado
Mensajes: 3
|
Oye theluigy13etv, que bueno que pones la solución.
Efectivamente yo tuve el mismo problema, tenia instalado el SDK de 64 bits y no seconectaba con Access 2007, entonces instale el SDK de 32 bits (jdk-6-windows-i586)
Tuve que ejecutar eclipse de 32 bits tambien.
|
|
|
En línea
|
|
|
|
theluigy13etv
Desconectado
Mensajes: 179
Primero se hace, después se mejora
|
Oye theluigy13etv, que bueno que pones la solución.
Efectivamente yo tuve el mismo problema, tenia instalado el SDK de 64 bits y no seconectaba con Access 2007, entonces instale el SDK de 32 bits (jdk-6-windows-i586)
Tuve que ejecutar eclipse de 32 bits tambien.
Sí, pero creo que no es necesario que tu Eclipse sea de 32 bits, porque yo tengo mi NetBeans de 64 bits pero de todas maneras puedo elegir el JDK con el que deseo trabajar para obtener mis aplicaciones. Osea puedo usar el JDK de 32 bits o de 64 bits a pesar que mi NetBeans es de 64 bits. En Eclipse supongo que debe ser algo parecido
|
|
|
En línea
|
|
|
|
alvifa
Desconectado
Mensajes: 5
|
Hola theluigy13etv
Me podrias decir por favor donde cambio el jdk con el que quiero que compile mi programa. Tambien sabes porque aunque lo haya compilado en una maquina de 64bits me corre perfectamente en maquinas con XP de 32bits?
Gracias,
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
No se pudieron obtener los conjuntos de filas del origen de datos actual
Programación Visual Basic
|
Murder
|
2
|
6,970
|
14 Octubre 2005, 20:44 pm
por Murder
|
|
|
TextBox enlazado a un origen de datos.
.NET (C#, VB.NET, ASP)
|
piwi
|
2
|
4,348
|
4 Agosto 2010, 06:18 am
por piwi
|
|
|
Error 3709 en tiempo de ejecucion No se encuentra el nombre del origen de datos
« 1 2 »
Programación Visual Basic
|
Graphixx
|
11
|
10,869
|
29 Junio 2012, 15:59 pm
por Graphixx
|
|
|
Una proteína de origen no terrestre se encuentra en un meteorito por primera vez
« 1 2 »
Foro Libre
|
El_Andaluz
|
10
|
5,120
|
13 Marzo 2020, 04:14 am
por El_Andaluz
|
|
|
Mensaje Error Origen de datos
.NET (C#, VB.NET, ASP)
|
5uj370
|
2
|
648
|
12 Diciembre 2024, 22:42 pm
por Conejo Blanco
|
|