Visual Basic - CONECCION CON ORACLE

Life is soft - evento anual de software empresarial
 
Vista:

CONECCION CON ORACLE

Publicado por julio cesar (5 intervenciones) el 08/04/2004 05:40:05
saludos a todos
bueno mi nombre es julio auris
quisiera una yudita por favor. Mira tengo una coneccion con oracle se conecta
pero me bota un mesaje donde diece que el " componente active x que no puede crear el objeto" esta es mi codigo

Dim cnora As ADODB.Connection
Dim rsora As ADODB.Recordset
Dim sql As String

'conecccion
Set cnora = New ADODB.Connection
cnora.CursorLocation = adUseClient
cnora.ConnectionString = "Provider=OraOLEDB.Oracle; Data source=DW ; password=pwd;user id=Sys"
cnora.Open

'' 'OraOLEDB.Oracle
'' 'msdaora

'consulta
Set rsora = New ADODB.Recordset
rsora.CursorLocation = adUseClient
sql = "select * from productos"
rsora.CursorType = adOpenStatic
rsora.LockType = adLockReadOnly
Set rsora = cnora.Execute(sql)
Text1 = rsora(2)

el error sale en esta linea Set rsora = cnora.Execute(sql) o si me podrias dar otra altenativa
gracias <%> proetector <%> lider--->peru
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Que tal esto

Publicado por KRAZY - Ecuador (9 intervenciones) el 14/04/2004 00:00:15
Mira puedes ahorrar líneas de programación si pruebas esto:

Public Function abrir_tabla(nom_tab As String) As ADODB.Recordset
' crea el recordset para la tabla
Set abrir_tabla = New ADODB.Recordset
'abrir_tabla.Open "SELECT * FROM " & nom_tab, cnn_bdd, adOpenDynamic, adLockOptimistic
abrir_tabla.Open nom_tab, cnn_bdd, adOpenKeyset, adLockOptimistic, adCmdTable
End Function

El detalle es que especificas el tipo de "adCmdTable", especifica que estamos abriendo una tabla, y la función nos retorna un RecordSet.

Si lo quieres con SQL pueba esto:

Set rst_bus = New ADODB.Recordset
rst_bus.Open "SELECT * FROM " & nom_tab & " t WHERE " & field & " = '" & val_str & "'", cnn_bdd, adOpenDynamic, adLockReadOnly, 8

El 8 nos indica que vamos a ejecutar una instrucción SQL.

EXITOS...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

OKI GRACIAS

Publicado por PROTECTOR LIDER----->PERU (5 intervenciones) el 14/04/2004 18:06:45
Gracias por la ayuda hermano me sirvio bastante lo puse la funcion dentro de un modulo para llamar de donde sea.

una molestia mas estoy realizando una transferencia de datos de as/400 db2 al oracle mas o menos unos 800,000 resgistros pero se demora como 2 horas para pasar la data este es mi codigo recorro todo el recorset del as/400 y y lo inserto en una tbala del oracle

Do While Not rsas/400.EOF
sql = "Insert into produccion (campo1,campo2......) values (rsas/400.campo1,rsas/400campo2...........)
Set rsoracle = cnoracle.Execute(sql)
rsas/400.MoveNext
Loop

aver si tu tienes por alli un idea osi sepued hacer de otra maneras mas rapida gracias

PROTECTOR LIDER----->PERU
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar