ADOX y SQL 2005 EXPRESS

29/06/2006 - 02:19 por Fernando C | Informe spam
Hola Grupo.
Tengo el siguiente problema. En una parte de mi sistema requiere migrar
datos de SQL 2005 Express a Access (Es para llevarlo a una Notebook y trabaje
en forma independiente a la red). El tema es que cuando migro las tablas con
sus campos pero tambien tengo que migrar los indeces. Y aqui esta el
problema. Con SQL 2000 y MySQL funciona perfectamente, pero en SQL 2005
EXPRESS, falla. Lo curioso aunque no estoy seguro pero con SQL 2005 Express
Beta, creo que funciono. Lo que hago es lo siguienbte. (Me olvidaba de
comentar otra cosa, me indica que la tabla tiene 2 indices cuando en realidad
tiene 1, y el primero su nombre esta en blanco, por eso pregunto si el
Len(Inx.Name) > 0 , asi lo evito. Esto con el 2000 no sucede)
En VB6.
Dim Cat As New ADOX.Catalog
Dim Tbl As New ADOX.Table
Dim Fld As New ADOX.Column
Dim Inx As New ADOX.Index

Creo la tabla con sus campos(incluido las prieidades)

For Each Inx In Tbl.Indexes
If Len(Inx.Name) > 0 Then
For Each Fld In Inx.Columns
NewField = NewField & "," & Fld.Name
Next Fld
ADOACCESS.Execute "Create " & IIf(Inx.Unique, "UNIQUE", "") & " INDEX
" & Inx.Name & " ON " & Tbl.Name & "(" & Mid(NewField, 2) & ")" &
IIf(Inx.PrimaryKey, " WITH PRIMARY", "")
End If
Next Inx

El error lo larga en la sentencia "For Each Fld In Inx.Columns"
y dice "3251 Application-defined or object-defined error"

Cual es el problema y lo mas importante como se resuelve?

Muchas Gracias.
Fernando C.

Preguntas similare

Leer las respuestas

#1 Maxi
29/06/2006 - 02:40 | Informe spam
Hola, mira esto no parece ser un problema de SQL sino de ADO y como este
maneja estas cosas. Te recomiendo que consultes esto en un foro de vb o ado,
ahi te podran ayudar mejor.



Salu2

Micrsoft MVP SQL Server
www.sqlgururs.org


"Fernando C" wrote in message
news:
Hola Grupo.
Tengo el siguiente problema. En una parte de mi sistema requiere migrar
datos de SQL 2005 Express a Access (Es para llevarlo a una Notebook y
trabaje
en forma independiente a la red). El tema es que cuando migro las tablas
con
sus campos pero tambien tengo que migrar los indeces. Y aqui esta el
problema. Con SQL 2000 y MySQL funciona perfectamente, pero en SQL 2005
EXPRESS, falla. Lo curioso aunque no estoy seguro pero con SQL 2005
Express
Beta, creo que funciono. Lo que hago es lo siguienbte. (Me olvidaba de
comentar otra cosa, me indica que la tabla tiene 2 indices cuando en
realidad
tiene 1, y el primero su nombre esta en blanco, por eso pregunto si el
Len(Inx.Name) > 0 , asi lo evito. Esto con el 2000 no sucede)
En VB6.
Dim Cat As New ADOX.Catalog
Dim Tbl As New ADOX.Table
Dim Fld As New ADOX.Column
Dim Inx As New ADOX.Index

Creo la tabla con sus campos(incluido las prieidades)

For Each Inx In Tbl.Indexes
If Len(Inx.Name) > 0 Then
For Each Fld In Inx.Columns
NewField = NewField & "," & Fld.Name
Next Fld
ADOACCESS.Execute "Create " & IIf(Inx.Unique, "UNIQUE", "") & " INDEX
" & Inx.Name & " ON " & Tbl.Name & "(" & Mid(NewField, 2) & ")" &
IIf(Inx.PrimaryKey, " WITH PRIMARY", "")
End If
Next Inx

El error lo larga en la sentencia "For Each Fld In Inx.Columns"
y dice "3251 Application-defined or object-defined error"

Cual es el problema y lo mas importante como se resuelve?

Muchas Gracias.
Fernando C.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida