entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Buenos días a toda la comunidad. Espero que todo el mundo esté bien.

Me encuentro realizando un módulo de importación de información entre bases de datos diferentes, siendo la primera perteneciente a un ERP (ADempiere) con n cantidad de tablas, de las cuales sólo empleo 7 tablas que están relacionadas entre sí. Para ello he creado una base de datos propia en la que se importan las tablas que necesito, omitiendo las relaciones que existen entre éstas.

El scritp que he desarrollado hasta este momento es el siguiente.

Public Sub SincronizarProducto()
        Dim objConexionAdp As New ConexionDB
        Dim objConexionSPIA As New ConexionDB
        Dim lector As NpgsqlDataReader
        Try
            Dim queryConsulta As String = "
            SELECT m_product_id as idproducto, c_uom.name as unidad, value as claveproducto, m_product.name as descripcion 
            FROM m_product 
            left join
            c_uom on c_uom.c_uom_id=m_product.c_uom_id
            where m_product.isActive='Y' and m_product.ad_client_id=1000000"
            Dim comando As New NpgsqlCommand()
            comando.CommandText = queryConsulta
            comando.Connection = objConexionAdp.ConectarADP()
            lector = comando.ExecuteReader()
            Dim queryInsert As String = ""
            Dim comandoSPI As New NpgsqlCommand()
            comandoSPI.Connection = objConexionSPIA.ConectarSPI()
            While lector.Read()
                Try
                    Console.WriteLine(lector("claveproducto"))
                    queryInsert = "insert into m_producto(m_product_id, claveproducto, descripcion, unidad) values('" & lector("idproducto") & "','" & lector("claveproducto") & "','" & lector("descripcion") & "','" & lector("unidad") & "')"
                    comandoSPI.CommandText = queryInsert
                    comandoSPI.ExecuteNonQuery()
                Catch ex As Exception
                    MsgBox(ex.Message, vbCritical, "Sincroniza.SicronizarProducto()")
                End Try
            End While
            lector.Close()
            MsgBox("FinProds")
            SincronizarAd_client()
        Catch ex As Exception
            MsgBox(ex.Message, vbCritical, "Sincroniza.SicronizarProducto()")
        End Try
    End Sub

Mi duda es

1.-¿Existe algún método para simplificar este proceso, importando la información de la base de datos, respetando las relaciones que existen?
Por su amable atención muchas gracias

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta