Conexion a Mysql


([N1] Paco.Velactiva) #1

Hola,

Tengo una aplicación con una serie de artículos,
familias... que quiero subir a una base de datos mysql, pero como soy
nivel 3 no tengo el OBDC, alguien a trabajado con acceso nativo a mysql,
me podría ayudar en el algo.

Gracias.


([N1] bmaimo) #2

El acceso a bases de datos externas, desde V7, no requiere de ningún modulo adicional. El ODBC que disponen los N4, es para acceder a la base de datos de Velneo desde un programa externo.

Tienes un tutor que explica como funciona la conexion con bases de datos externas(http://velneo.es/tutor-de-acceso-a-base-de-datos-externas-10/), esta basado sobre un fichero MDB, pero la técnica para hacerlo con otro motor de bases de datos es la misma, y solo cambia el connection String.

En concreto para MySql la cadena de conexión seria parecido a la siguiente.

"DRIVER={MySQL ODBC 5.1 Driver};  SERVER=nombre del host DATABASE= nombre B.D.; UID=usuario; PWD=contraseña"


([N1] Pepeto) #3

- Si va a ser un caso puntual, puedes generar un fichero de texto son las sentencias INSERT en SQL y luego puedes ejecutar el fichero desde el administrador de MySQL

- Si va a ser un proceso que necesites realizar de forma habitual, si necesitaras ODBC para generar las conexiones en caliente.

un saludo

Jose Luis

 

 


([N1] Paco.Velactiva) #4

Va a ser conexiones semanales

Lo que comenta bmaimo.piema, es posible o no podemos
hacer conexiones directas a la base de datos, de manera nativa. Ya que
lo que quiero es modifica la base de datos mysql no la de velneo.


([N4] eic) #5

Hola.

Yo tuve que hacer un traspaso de datos desde MySQL a Velneo, y utilicé el método que comenta bmaimo.piema. No tuve problemas. Supongo que funcionará también la escritura en MySQL (lo que hice fue leer), pero eso no lo he probado. 

Nota: yo tenía instalado el MySQL en mi equipo para hacer las pruebas. No lo probé con un servidor de MySQL que estuviera en Internet, por ejemplo, aunque me suena que Antonio Vela lo había intentado.

Saludos,

Fran Varona

 


([N1] Paco.Velactiva) #6

Hola,

Que manejado utilizas para conectarte a MYSQL, ya que
esta obdc (El cual por ser n3 no puedo), sql lite y postgree, es lo que
comentaba que no hay ningún manejador de mysql. Entonces no puedo
hacerlo.

Saludos.


([N4] eic) #7

Hola.

Hay que aclarar los términos:

El driver ODBC disponible para N4 es un driver que permite acceder al vServer de Velneo a través de ODBC. Pero lo que quieres hacer es acceder a una base de datos MySQL, por lo que necesitarás tener instalado el driver ODBC de MySQL, que sí está disponible para descargar desde la página de MySQL.

Acabo de repasar lo que hice, y realmente no accedí directamente a MySQL, sino que pasé los datos a Access, y luego los pasé a Velneo. 

Pero, teóricamente, no debería haber problemas en que funcione. Utilizando acceso ODBC y el driver ODBC de MySQL te debería funcionar.

Saludos,

Fran Varona

 


([N1] Paco.Velactiva) #8

Fran, si te entendido bien tu pasasteis los datos de mysql a access y de
este a velneo. Pero yo lo que necesito es de Velneo a mysql, datos que
tengo velneo a un servidor en Mysql, entonces si necesitaria el driver obdc.

Saludos.


([N4] mperez) #9

@Pepeto, @Velactiva

No necesitas el Odbc de Velneo. No lo necesitas.

El Odbc de Velneo cubre otras necesidades, por ejemplo que desde cualquier lenguaje de programación poder acceder a una Base de Datos de Velneo, o desde Crystal Report o desde donde quieras mediante sentencias SQL y el Odbc las convierte en Cargar Lista, Busquedas o la instrucción Velneo correspondiente.

Lo que te da Velneo desde el Nivel 1, es el acceso a Bases de Datos externas

Desde Velneo, por proceso para atacar otras Bases de datos, dispones del siguiente juego de instrucciones, como es lógico estas pueden ser de escritura o de lectura.

Aqui tienes un tutor

http://velneo.es/comandos-de-conexion-con-bases-de-datos-externas/

http://velneo.es/tutor-de-acceso-a-base-de-datos-externas-10/

 

Si Velneo no tiene acceso directo a la base de datos en concreto que quieres, puedes utulizar el acceso a un Odbc, pero claro, tu base de datos lo debe tener, pero no el de Velneo sino el de Oracle, Mysql o el que sea.


([N4] eic) #10

Hola.

Como te dice Miguel, si necesitas acceder desde Velneo a MySQL, sólo necesitas el driver ODBC de MySQL, y NO el driver ODBC de Velneo que, como te comentaba, sirve para acceder a Velneo desde fuera.

Saludos,

Fran Varona

 


([N1] Paco.Velactiva) #11

Gracias, Miguel y Fran.

No entendí bien el concepto.


([N1] Pepeto) #12

Oido cocina!

:)


([N1] wikiwiki) #13

 

Segun Velneo:

Las bases de datos a las que en un principo tenemos planificado daros la posibilidad de acceder de forma nativa son las siguientes:

 -Oracle

 -Informix

 -Sybase

 -DB/2

 -MySQL

- PostgreSQL

 -InterBase

 -SQLite

 

 Es decir sin ODBC.

 

No se como estará el tema al dia de hoy, porque data del 2007.

 

 

 

 

 


([N1] Roberto Blasco) #14

Hola a todos.

 

¿Quién quiere ODBC teniendo JDBC?

 

http://chuwiki.chuidiang.org/index.php?title=Consulta_de_Base_de_Datos_desde_JSP

 

Un saludo. Roberto.

 


([N4] Jorge) #15

ODBC es parte de un estándar desarrollado por SQL Access Group en 1992 (X/Open SQL CLI).

JDBC u OLEDB creo que no lo son, pero soportan adaptadores para ODBC.

 

ODBC es la única forma posible en algunos motores de datos de acceder de forma estándar (que no nativa).

 

El motivo de utilizar ODBC (y no cualquier otra implementación) es para garantizar el acceso a datos sobre cualquier plataforma, si por ejemplo tienes un AS/400 tendrás que pasar casi seguro por un driver ODBC o el driver especifico JDBC u OLEDB para AS/400. Por lo que si tienes que lidiar con un conjunto tecnológico heterogéneo lo mejor sería ODBC.

 

Pero lo cierto es que en la práctica, JDBC u OLEDB son mucho más utilizados (siempre que es posible). Normalmente por ser más rápidos que ODBC o por comodidad.

 

 

Atentamente,

Jorge Hontoria Jiménez

http://tipesoft.com

 

 


([N1] Roberto Blasco) #16

Hola Jorge.

Me acabas de tirar por el suelo todos mis conocimientos ....... :-)

ODBC es la única forma posible en algunos motores de datos de acceder de forma estándar (que no nativa).

 

Única es una palabra muy grande, sobre todo cuando hablamos de un estándar y más si sabemos que ODBC ha sido desarrollado por Microsoft y todos conocemos su "afinidad" hacia los estándares. ¿Me puedes razonar porqué JDBC no es estándar?.

 

El motivo de utilizar ODBC (y no cualquier otra implementación) es para

garantizar el acceso a datos sobre cualquier plataforma, si por ejemplo

tienes un AS/400 tendrás que pasar casi seguro por un driver ODBC o el

driver especifico JDBC u OLEDB para AS/400. Por lo que si tienes que

lidiar con un conjunto tecnológico heterogéneo lo mejor sería ODBC

 

¿Me puedes decir una sóla base de datos que a la que no tenga acceso JDBC sobre cualquier plataforma?, exceptuando Velneo claro .... (aunque eso también es relativo, sólo hace falta un poco de imaginación).

 

Pero lo cierto es que en la práctica, JDBC u OLEDB son mucho más

utilizados (siempre que es posible). Normalmente por ser más rápidos que

ODBC o por comodidad.

 

En esto te doy la razón, son mucho más utilizados porque son mucho más rápidos, mucho más limpios y cómodos (no hace falta instalar ni tocar nada en el cliente) y a diferencia de ODBC, la conectividad JDBC está completamente escrita en código Java, evitando así el uso de punteros y los conflictos que éstos provocan.

Hay, hay hay ..... se te ve el plumero de .Net (es broma, jejejejeje, a mi se me ve el de Java)

 

Un saludo. Roberto Blasco

 

P.D. El editor html para los post es PENOSO!!!!!!!

 


([N4] Jorge) #17

Rober, en serio siento que pienses que ODBC es de MS (Microsoft no desarrolla casi nada propio, todo lo compra)...

El SAG (SQL Access Group) está formado actualmente por:

AT&T
Borland International
Computer Associates
Fulcrum Technologies
Hitachi
IBM
Information Builders
Informix Software
INTERSOLV
Microsoft
Oracle
Progress Software
Sybase
Visigenic Software

...

como ves MS es uno más.

Si quieres conocer la historia de ODBC te recomiendo la siguiente lectura: http://www.drdobbs.com/184410032;jsessionid=TCLJZNVQCVW3FQE1GHPSKHWATMY32JVN

...

In 1990, SAG took the lead in developing an SQL-based Call Level Interface (CLI). The CLI SAG is an API for database access, offering an alternative invocation technique to embedded SQL that provides essentially equivalent operations. SAG envisioned an interface that would enable client/server applications to access data stored in heterogeneous relational and nonrelational databases. The interface would be platform, vendor, database, and language neutral. SAG and X/Open published the CLI Snapshot Specification in 1992 as a "work in progress," and it was adopted for use in commercial software products.

 

Microsoft helped define the X/Open CLI specification and became the first company to commercialize the CLI specification by shipping Open Database Connectivity (ODBC) 1.0 for Windows in 1992. To create ODBC, Microsoft extended the CLI specification and created a three-layer specification in which the "core" layer corresponds to the SAG CLI. Over the next two years, the CLI specification underwent several transformations, reemerging in 1994 as an X/Open Preliminary Specification. Also in 1994, Microsoft released ODBC 2.0, whose core functionality was still aligned with the SAG CLI. Earlier this year, Microsoft announced that ODBC 3.0 (to be released in 1996) will be fully aligned with both ISO's CLI standard and SAG's CLI Specification.

...Por si te quedan dudas... http://en.wikipedia.org/wiki/Open_Database_Connectivity

 

Respecto a lo de motores sin soporte JDBC... te cuento mis experiencias...

Hace tiempo sufrí con HP3000's (año 1997 aprox). En aquel entonces HP no tenía driver JDBC... solo soporte nativo y ODBC. Seguramente HP siga sin soporte JDBC/OLEDB, pero como bien apuntas sería raro que no existan aún drivers JDBC. Seguro que algún proveedor tendrá desarrollado algún driver, muy probablemente también con soporte OLEDB. El motor de bases de datos que se movía en estos mastodontes era TurboIMAGE y te aseguro que el único soporte que tenían estándar era ODBC y nativo.

Lo del AS/400 tambien es una experiencia propia de consultoría sobre AS400 para un cliente... solo había soporte ODBC (año 1998 aprox) y quería implementar temas de DataMining... la solución pasó por driver ODBC.

Si quieres alguna referencia más reciente pregunta a los de ADIF sobre algunos de sus Scada y ya te cuentan ellos...

 

Espero que entiendas que ni quito ni pongo a favor de ODBC. Solo comparto la idea de que Velneo v7 tenga implementado soporte ODBC antes que el soporte JDBC u OLEDB... Fundamentalmente por ser el único estándar de acceso a datos en constante evolución.

 

Atentamente,

Jorge Hontoria Jiménez

http://tipesoft.com

 


([N4] Jorge) #18

Respecto a si JDBC es estándar solo tienes que pasarme el ISO o similar correspondiente, a partir de ese momento lo meteré en la lista de estándares. Mientras tanto es poco más que una API Java al igual que OLEDB es una API Win32.

 

Atentamente,

Jorge Hontoria Jiménez

http://tipesoft.com

 


([N4] Jorge) #19

More info...

http://es.wikipedia.org/wiki/Java_Database_Connectivity

Java Database Connectivity, más conocida por sus siglas JDBC, es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java...

 

http://en.wikipedia.org/wiki/Java_Database_Connectivity

La fuente en ingles: JDBC is an API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database. JDBC is oriented towards relational databases. A JDBC-to-ODBC bridge enables connections to any ODBC-accessible data source in the JVM host environment.

 

http://es.wikipedia.org/wiki/ODBC

La wikipedia "versión española" te da parcialmente la razón: Open DataBase Connectivity (ODBC) es un estándar de acceso a Bases de datos desarrollado por Microsoft Corporation...

 

http://en.wikipedia.org/wiki/ODBC

Pero no hay cosa mejor que leer la fuente en ingles: ODBC provides a standard software API method for accessing both relational and non-relational DBMS. It was developed by the SQL Access Group in 1992 in order to facilitate easier communication between applications and databases across computing platforms...

 

Atentamente,

Jorge Hontoria Jiménez

http://tipesoft.com

 


([N1] Roberto Blasco) #20

Hola Jorge.

 

Está muy bien toda la documentación que has aportado .... pero no deja ser más que docuentación en un copia y pega de enlaces.

Te voy a decir mi experiencia con ODBC (penosa en cuanto transacciones múltiples y grán cúmulo de datos) y cómo conseguí la liberación al experimentar JDBC y conocer un servidor de verdad como Tomcat. Dime que grandes empresas utilizan servidores con acceso a datos ODBC y no utilicen .Net. Y ahora dime qué grandes empresas utilizan un servidor que sea una variante de Tomcat sobre todo si tomamos que el 90% de los servidores son Unix y utilizan un Tomcat o derivados como servidor. Creo que me respondo sólo.

No me has contestado a porqué Velneo hace caso omiso de las bondades de JDBC y se empeña en utilizar ODBC que es bastante menos productivo.

Hablamos de Velneo Open Apps, vemos que ha implementado Apache .... qué mejor oportunidad que incorporar una herramienta/servidor de tal calado integrado con JDBC (Tomcat) y ir de verdad hacia las herramientas libres, hacia el estandar. Por desgracia no ha ocurrido así ... un conector JDBC funciona igual (el mismo archivo) en windows, que en Linux, que en Mac o que en un teléfono móvil.

En cuanto a los estándares todo depende del cristal donde se mire. Espero que no seas tan ingenuo para pensar que una norma ISO es sinónimo de la mejor calidad, es sinónimo de más votos en un consejo, y votos son dinero.

El enlace que te pongo ilustra como se normalizó norma ISO OOXML de Microsoft Office sabiendo que es de todo menos estándar, pero bueno eso es otra historia.

http://www.kriptopolis.org/iso-acepto-ooxml

Yo lo tengo muy claro, seguiré utilizando JDBC en vez de ODBC, pero claro, esta es una opinión personal que no espero ni sea de referencia ni como nota aclaratoria, es sólo mi opinión. Está claro que Velneo ha optado por la solución ODBC, bueno me parece bien, sus razones tendrá, pero debes comprender que un punto discordante es siempre bueno para evolucionar.

Sólo comentar una cosa

Espero que entiendas que ni quito ni pongo a favor de ODBC. Solo
comparto la idea de que Velneo v7 tenga implementado soporte ODBC antes
que el soporte JDBC u OLEDB... Fundamentalmente por ser el único
estándar de acceso a datos en constante evolución

No sé, pero me suena a letanía constante ....

- Estándar. Das por hecho que ODBC es un estandar ante JDBC (que se lo digan a Oracle)

- En constante Evolución. ¿Está JDBC estancado? ¿Tiene menos usuarios? ¿Es ODBC técnicmante más avanzado y efectivo que JDBC?

 

Un saludo. Roberto Blasco

 

P.D. Si ODBC no es Microsoft y es tan "libre" como JDBC. ¿Porqué OpenOffice utiliza Java y JDBC como conector de tados funcionando en todos los sistemans operativos y Microsoft Office sigue utilizando ODBC y sólo funciona en Windows?