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

Conectar visual studio 05 con mysql

Estas en el tema de Conectar visual studio 05 con mysql en el foro de .NET en Foros del Web. Si lo implementas de esa forma obviamente no te saltará ningún error ya que la excepción está vacía. Existe un plugin para firefox que hace ...

  #31 (permalink)  
Antiguo 26/11/2009, 08:58
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 15 años, 5 meses
Puntos: 16
Respuesta: Conectar visual studio 05 con mysql

Si lo implementas de esa forma obviamente no te saltará ningún error ya que la excepción está vacía. Existe un plugin para firefox que hace uso de este proceso y según comentarios de los usuarios en vez de optimizar la memoria, te deja el procesador calientito XD.
Como dije yo no siento mis aplicaciones más ligeras por llamar a este proceso, hace mucho leí sobre esto, lamentablemente la única explicación detallada está en una web que por el momento (aunque ya lleva días) está caída. La web es esta.

Trataré de conseguir el artículo y compartirlo.
saludos
__________________
Eduardo Peredo
Wigoin
  #32 (permalink)  
Antiguo 26/11/2009, 09:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: Conectar visual studio 05 con mysql

Ok.
Quedo pendiente de que puedas conseguir el artículo u otro semejante, porque el problema me interesa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #33 (permalink)  
Antiguo 27/11/2009, 06:32
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Conectar visual studio 05 con mysql

Hola,
gracias por contestar tan rápido. Me ha quedado más o menos claro, pero con las siguientes dudas:

Cita:
1. Usa una sola conexión por sesión de usuario.
Te refieres a 1 conexión cada vez que el usuario quiera llevar a cabo una acción que implique acceso a la BD no? Es decir si insertar registros, creo una la abro y la cierro. Luego si decide ir a la opción modificar registros creo otra, la abro y la cierro, consultar registros, lo mismo.... Así?

Cita:
Si usas DataReaders, cuando los dejes de usar, primero ciérralos y luego elimínalos
.close y =Nothing ? Te refieres a eso?
Si en vez de DataReaders uso MySqlDataAdapter ? Igual?

Cita:
En lugar de declara simplemente Nothing una conexión solamente, destruye el objeto que la contiene.
Cómo lo hago?
Código:
Objeto=Nothing
Objeto=Dispose
??

Cita:
4. Como el objeto MysqlCommand depende de la conexión, si destruyes el objeto Connection, el Command se queda sin recursos. No molesta, pero no está de más liberarlo.
Código:
Objeto_MysqlCommand = Nothing
Eso?

Cita:
5. Usa un sólo objeto Mysql por tipo en la clase (rara vez necesitas más de eso), y reusalos.
Por tipo a qué te refieres? Es decir un único objeto mysql para consultas, inserciones, borrados, solo uno?


Gracias de antemano. Un saludo!
  #34 (permalink)  
Antiguo 27/11/2009, 07:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: Conectar visual studio 05 con mysql

Cita:
Te refieres a 1 conexión cada vez que el usuario quiera llevar a cabo una acción que implique acceso a la BD no? Es decir si insertar registros, creo una la abro y la cierro. Luego si decide ir a la opción modificar registros creo otra, la abro y la cierro, consultar registros, lo mismo.... Así?
No. Abres y cierras la conexión sin volver a crearla, si quieres, pero la idea es no volver a crear una instancia de MysqlConnection. Crear conexiones consume mucho tiempo de conexión, comparativamente. Es ineficiente crear tantos, y tarde o temprano saturarías el Pool de conexiones.
Por sesión de usuario me refiero a que cada usuario de la aplicación tenga su propio username y clave en MySQL. De ese modo, cuando empieza a trabajar con datos usa siemrpe la misma sesión en la aplicación (al modo de sesión en este foro, por ejemplo).
Si creas una clase sesión,por ejemplo, podrías crear dentro de ella un objeto de la clase que maneja la relación con la base.
Yo, por ejemplo, tengo una clase denominada Sesion que se instancia al loguear contra MySQL. Esa clase contiene un objeto público que se denomina BaseDatos que es una instancia de una clase denominada MySQLDataBase y que tiene esta definición basica y variables de clase:
Código vb.net:
Ver original
  1. Option Explicit On
  2. Imports System.ComponentModel
  3. Imports MySql.Data.MySqlClient
  4. Imports Microsoft.Win32
  5. Imports System
  6. Imports System.Net
  7. Imports System.Globalization
  8. Imports System.IO
  9. Imports System.Configuration.ConfigurationSettings
  10.  
  11. Public Class MysqlDataBase
  12.     ' Variables de conexión ------------------------------------------------------
  13.     Public Conexion, CxText As MySqlConnection
  14.     Private strConexion As String
  15.  
  16.     ' Variables de transacción ----------------------------------------------------
  17.     Public Trans As MySqlTransaction
  18.  
  19.     ' Variables de lectura --------------------------------------------------------
  20.     Private Adapter As MySqlDataAdapter
  21.     Private LectorDatos As MySqlDataReader
  22.  
  23.     ' Variables de ejecucion ------------------------------------------------------
  24.     Private Sentencias As MySqlCommand
  25.     Private BuildSql As MySqlCommandBuilder
  26.  
  27.     ' Variables de error ----------------------------------------------------------
  28.     Private errorDb As MySqlError
  29.  
  30.     ' Variables de region ---------------------------------------------------------
  31.     Private nFI As NumberFormatInfo = New CultureInfo("en-US", False).NumberFormat
  32.  
  33.     ' Variables de uso interno ----------------------------------------------------
  34.     Private sSQL As String
  35.  
  36.  ' Métodos y funciones....
  37.  
  38. End Class
Con esto manejo todo.

Cita:
.close y =Nothing ? Te refieres a eso?
Si en vez de DataReaders uso MySqlDataAdapter ? Igual?
Exactamente. Ciérralo y luego declaralo Nothing.
Los MysqlDataAdapter no requieren eso porque mueren con la conexión, pero puedes hacer uso de su método .Dispose y luego ponerlo a Nothing.
Como yo manejo una sola instancia de MysqlDataAdapter en la clase, y la uso todas las veces que requiera leer una tabla o cargar un dataset (volviendo a instanciarla, obviamente), solamente lo destruyo cuando se cierra la sesión.

Cita:
Cita:
En lugar de declara simplemente Nothing una conexión solamente, destruye el objeto que la contiene.
Cómo lo hago?
Código:

Objeto=Nothing
Objeto=Dispose
Objeto=Nothing, donde Objeto contenga una variable de clase de la clase MysqlConnection.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 27/11/2009 a las 07:44
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 03:12.