Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Los moderadores, MVP y administradores podrán seguir editando, respondiendo o creando nuevos mensajes

Con idea de que puedan ayudar a responder e ir cerrando mensajes ;-)

  Foro: ADO.NET.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 41264 - Pasar de Access a SQL Express 2005
IDAsuntoFechaNick 
41264 Pasar de Access a SQL Express 200513/05/08 00:43gato_verde   
Gracias por su atención.
Quiero pasar datos de un sistema a otro. He creado un programita con la ayuda del Sr. GUILLERMO, en sus notas elguille.info y con algunos foreros (ejemplos anteriores). Pero hay cosas que no entiendo y quisiera saber si Uds. me pueden ayudar. Pongo el programa primero:
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
Public Class Paseyvan
    Private Sub Button1
        _Click(ByVal sender As System.Object, ByVal e As
         System.EventArgs) Handles Button1.Click

        Dim F, C As Integer 'esto lo uso yo.
        '---------------------------------------
        'Llenar datagridview1 con Datos de Access
        Dim conexionAccess As String
        conexionAccess = "Provider=Microsoft.Jet.OLEDB.4.0;Data
             Source=C:\PersonalSueldos\Sueldos2009_oag\Datos\PersonalSueldos.mdb"
        Dim conAccess As
             OleDbConnection = New OleDbConnection(conexionAccess)
             ' Establesco la conección
        Dim SelectAccess As String
        SelectAccess = "SELECT * FROM Personal Order By IdPersonal"
        Dim AdapterAccess As New
             OleDbDataAdapter(SelectAccess, conAccess) 'genero el Data
             Adapter para Access

        Dim TablaAccess As New DataTable 'Creo una Tabla
        DataGridView1.DataSource = TablaAccess 'Conecto el
             DataGridView1 con la Tabla
        AdapterAccess.Fill(TablaAccess) 'lleno la Tabla y me lo
             muestra en el DataGridView con los Datos de Access
        '---------------------------------------
        ' Generar elementos inciales, llenar el DataGridView2
             conlos Datos de Acces para grabar en SQL.
        Dim conexionSQL As String
        conexionSQL = "Data
             Source=.\SQLEXPRESS;AttachDbFilename=C:\PersonalSueldos\Sueldos2009
            _oag\Datos\SueldosArch.mdf;Integrated Security=True;Connect Timeout=30;User
             Instance=True"

        Dim ColumnasDataRow As DataRow 'Creo la columnas
             para llenar
        Dim TablaSQL As DataTable 'creo el DataTable

        Dim DataAdapterSQL As SqlClient.SqlDataAdapter 'creo el DataAdapter
        Dim SQLConnection As SqlClient.SqlConnection 'creo
             la conexion
        Dim CommandBuilderSQL As SqlClient.SqlCommandBuilder 'creo el command builder

        'la conexion
        SQLConnection = New SqlClient.SqlConnection(conexionSQL) '
        DataAdapterSQL = New
             SqlClient.SqlDataAdapter("Select * from Personal",
             SQLConnection)
        SQLConnection.Open() 'abro la conexion

        ' Creo uptate, addnew y delete del DataAdapterSQL
             (creado mas arriba) con un CommandBuilder
        CommandBuilderSQL = New SqlClient.SqlCommandBuilder(DataAdapterSQL)
        TablaSQL = New DataTable

        'lleno el datatable con los datos necesarios
        TablaSQL.Clear()
        DataAdapterSQL.Fill(TablaSQL)

        'establezco la clave primaria
        Dim IdPersonal(0) As DataColumn
        IdPersonal(0) = TablaSQL.Columns(0)
        TablaSQL.PrimaryKey = IdPersonal

        'vinculo el datagrid con la tabla que corresponde
        DataGridView2.DataSource = TablaSQL

        'Aqui paso los datos de Acces a la Tabla de SQL
        Dim midato(30) As Object
        For F = 0 To
             Me.DataGridView1.Rows.Count - 2 ' me da el valor int de ultimo registro
            For C = 0 To
                 Me.DataGridView1.Columns.Count - 1 'me da el valor int de la ultima columna
                midato(C) = TablaAccess.Rows(F).Item(C) 'tomo
                     el valor por fila y columna de Access
            Next C
sigo en la proximo, porque todo no alcanza
[Editado: gato_verde, 13/05/2008 00:44:32]
IDAsuntoFechaNick 
41265 Re: Pasar de Access a SQL Express 2005 (Resp: 41264)13/05/08 00:51gato_verde   
Sigo con el programa
ColumnasDataRow = TablaSQL.NewRow 'Aviso que va un nuevoRow
ColumnasDataRow("IdPersonal") = midato(0)
ColumnasDataRow("NumDoc") = midato(1)
ColumnasDataRow("TipoDoc") = midato(2)
ColumnasDataRow("Sexo") = midato(3)
ColumnasDataRow("NumCuil") = midato(4)
ColumnasDataRow("NumCuil1") = midato(5)
ColumnasDataRow("Apellido") = midato(6)
ColumnasDataRow("Nombres") = midato(7)
'Try
TablaSQL.Rows.Add(ColumnasDataRow) 'Adiciono los datos a la Tabla
Next F
'Aqui digo que lleve los datos del DataGridView (mejor dicho la
     Tabla) al archivo FISICO de SQL. ???????
DataAdapterSQL.Update(TablaSQL)
TablaSQL.AcceptChanges()
End Sub
End Class
Es maravilloso llenar primero la Tabla y despues grabar todos los cambios, inclusive los delete que tanto costaran con el VB6.
Pregunto: El pase de los datos al Archivo fisico estan desconectados?. Porque abro la conexion arriba y nunca la cierro y me funciona.
Pregunto: Para rellenar el ID autonumerico, es necesario generar UN FILL de la Tabla SQL?, porque sino, me da error. COMO FUNCIONA ESO?. Esto pregunto porque es copiado,y el analisis no me llena.
GRACIAS DE ANTEMANO.

[Editado: gato_verde, 13/05/2008 00:52:49]
[gato_verde, 13/05/2008 03:50:08]
[gato_verde, 13/05/2008 03:50:38]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 09/06/2026 05:17:25 GMT