Tengo una aplicacion en vb .net que la usan 20 operadoras con una bd acces q
esta en el pc servidor y una ampliacion de esa misma aplicacion q la usan 2
ordenadores conectadas a esa misma bd
el problema es q va perfectamente pero cuando estan todos los ordenadores
la vez va un poco lento en algunos casos.
ya se q probablemente sea pq la bd esta en acces y no en sql pero de momento
eso no puedo modificarlo. lo unico q hace es ver informacion de la bd y
insertar , modificar o borrar datos de las tablas usando basicamente
datagrid y listviews y textbox (posiblemente no sepa todavia exprimir al
maximo las ventajas del .net), ya q este mismo programa estaba hecho en vb6
y va bastante mas rapido(cosa q no entiendo)
lo q queria saber es si es posible hacer lo siguiente:
los 2 ordenadores q usan la aplicacion ampliada hacen basicamente la
facturacion,albaranes y contro de stock.
esas tablas no se usan en la otra aplicacion(las de las 20 operadoras) y
queria saber si es posible q al hacer la conexion no influya en todas las
tablas para asi ir mas rapido o si para cada cambio q se haya de la bd solo
se active/conecte la tabla en cuestion en vez de toda la bd hago casi todas
las coenxiones usando estas funciones(os las pongo x si sabeis mejoras o si
se puede cambiar lo de la conexion), ya q casi todos los ejemplos q veo son
usando sql
Gracias!
Imports System.Data.OleDb
Sub main()
Path1 = System.IO.Path.GetFullPath("\\Equipo3\C\DYLR\")
ArchivoDatos = path1 & "dyla.mdb"
CadenaConexion = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &
ArchivoDatos & ";Persist Security Info=False"
Dim frm As New principal
frm.ShowDialog()
End Sub
'funciones
Public Sub Gestionar(ByVal sql As String)
Dim conexion As New OleDb.OleDbConnection
conexion.ConnectionString = CadenaConexion
conexion.Open()
Dim Comando As OleDbCommand = New OleDbCommand
Comando.Connection = conexion
Comando.Transaction = conexion.BeginTransaction
Try
Comando.CommandText = sql
Comando.ExecuteNonQuery()
Comando.Transaction.Commit()
Correcto = True
Catch Errorcito As Exception
Comando.Transaction.Rollback()
Correcto = False
MsgBox("Operación no realizada", MsgBoxStyle.Critical, "Error de
la aplicación")
Finally
conexion.Close()
conexion.Dispose()
End Try
End Sub
Public Sub CrearMiOleDbCommand(ByVal myExecuteQuery As String, ByVal
myConnectionString As String)
Try
Dim myConnection As New OleDbConnection(myConnectionString)
Dim myCommand As New OleDbCommand(myExecuteQuery, myConnection)
myCommand.Connection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
myConnection.Dispose()
Catch ee As Exception
MessageBox.Show(ee.Message)
End Try
End Sub
Leer las respuestas