Sql.Request

Hola Valedor:
Estoy haciendo una macros, y tengo que conectarme a unas BD que esta en oracles
he probado el Sql.request y utilizo esta Sentencia en la casilla (A1:A1)DNS=DAtos ;DBQ=Cask;UID=JulioS;PWD=sag,"select * from Productos",true)
Pero no me ha dado resultado, con que otras herramientas
puedo conectar una base de datos en Excel, o estoy haciendo mal la función
Saludos desde Chile

1 respuesta

Respuesta
1
Como no cuento con Oracle, no puedo hacer pruebas de conexión, pero prácticamente la mayoría se conectan igual, por ejemplo:
Public Sub DatosOracle()
Dim micon As ADODB.Connection
Set micon = New ADODB.Connection
micon.Provider = "MSDAORA"
micon.ConnectionString = "server=bigsmile;uid=sa;pwd=pwd;database=pubs"
micon.Open
Set micon = Nothing
End Sub
Tampoco especificas que tecnología usas, este ejemplo es con ADO, recuerda que una cosa es la conexión y otra es el Recordset, después de hacer tu conexión haces tu recordset...
Estoy haciendo una planilla excel en la cual debería cargar ciertos campos de una base de datos en oracle a la hoja 2, en esa conexión debería utilizar alguna referencia
¿Cómo se desplegaría en la cuadricula?
Saludos
Hay un método del objeto Range que puede devolver valores de un Recordset, y los vacía a partir de una celda y hasta donde lleguen los datos del recordset, pero sino sabes programar o usar conexiones y recordset, te recomiendo usar la opción dle menu Datos | Obtener datos externos | Nueva consulta de bases de datos este es un asistente y te lleva de la mano para obtener tus datos, si por el contrario sabes programar, muéstrame el código que estés usando y te ayudo a depurarlo...
Valedor:
En la ayuda encontré la sentencia sql.request que en excel(según dice), se pueden rescatar los registros de una base de datos, esta fórmula la dejo en una celda e código que utilizo es:
sql.Request (DNS=DAtos ;DBQ=Cask;UID=JulioS;PWD=sag,A2,"select * from Productos",true)
Esta función esta disponible cuando cargas el complemento para ODBC, pero no esta muy bien documentado y la ayuda es escasa, como no tengo Oracle, probé a "tratar" de crear una consulta con DBASE o con ACCESS, pero con ninguna de las dos funciono, aunque esto no me extraña de algunas funciones de Excel...
Te recomiendo probar como te dije, con:
Datos | Obtener datos externos | Nueva consulta de bases de datos
Este asistente también te devuelve una consulta y se me hace más sencillo que la fórmula que mencionas, aunque me sigue gustando más con código...
Pude hacerlo, hice la consulta, grabando todos los movimientos(una Macros), luego en el editor, me fui a la thisWorkbook_open y le asigne el nombre de la macro, así que cuando se abre hace la consulta.
Muchas Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas