• Martes 16 de Abril de 2024, 20:51

Autor Tema:  Conexión Ado A Base De Datos En Servidor  (Leído 1407 veces)

marisol_ylonen

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Conexión Ado A Base De Datos En Servidor
« en: Sábado 14 de Julio de 2007, 01:31 »
0
Hola!
Cómo están?
Pues yo otra vez dando lata. Resulta que cometí un error que me ha costado una gran pérdida de tiempo. En mi proyecto, debo conectarme a un servidor as400, tiene varias bibliotecas pero a mí me interesa la que se llama RHDBD_16 -es el mismo nombre para la base de datos-, de ahí uso las tablas LGBS, TEILS y STRUS, la dirección del servidor es xx.xx.xx.xxx. Mi erro fue conectarme por ODBC, era muy lento pero yo podía soportarlo: mis jefes, no. Así que cree una tabla con una consulta de creación de tabla en access y metí mucho código en el editor de vb. Ya tengo todos los cálculos hechos de este modo, pero ahora debo conectarme al servidor y jalar sólo la base de datos RHDB_16. He leído que por ADO es mucho más rápido. Busqué unas cosillas y ya establecí la conexión al servidor, pero al meterle una consulta no hace nada. No sé si alguien pueda darme un ejemplo o algo y explicarme porque como que no doy una con ADO.
Este es el código de la conexión:

Public cn400 As New ADODB.Connection
Public cm_APILIB_PARTS As New ADODB.Command
Public cm_APILIB_SPROC2 As New ADODB.Command
Public rs_APILIB_PARTSDATA As ADODB.Recordset
Public rs_APILIB_SPROC2 As ADODB.Recordset
Option Compare Database
______________________________________
Private Sub Comando0_Click()
Dim strPARTNO As String
cn400.Open "Provider=IBMDA400;Data Source=192.168.11.10;", "", ""
Set cm_APILIB_PARTS.ActiveConnection = cn400
strPARTNO = Texto3
cm_APILIB_PARTS.CommandText = "select STBGNR, STKOMP FROM RHDBD_16.STRUS WHERE STKOMP LIKE '*" & strPARTNO & "*'"
cm_APILIB_PARTS.CommandType = adCmdText
Set rs_APILIB_PARTSDATA = cm_APILIB_PARTS.Execute
Lista1.AddItem (rs_APILIB_PARTSDATA.Fields(1).Value)

End Sub
_____________________________________
Private Sub Class_Terminate()
Set rs_APILIB_PARTS = Nothing
Set rs_APILIB_SPROC2 = Nothing
Set cm_APILIB_SPROC2 = Nothing
Set cm_APILIB_PARTS = Nothing
If Not cn400 Is Nothing Then
    cn400.Close
End Sub

Ojalá me puedan ayudar, no debe ser precisamente sobre as400, pero si se puede se agradece aún más; y miren que ya les estoy muy agradecida. :hola:
Saludos desde Querétaro, México y que tengan un extraordinariamente buen fin de semana. :kicking:
[size=109]El hombre no se rinde a los angeles ni a la muerte por entero salvo a través de la flaqueza de su débil voluntad. Edar A. Poe, "Ligeia".Joseph Glanville[/size]

marisol_ylonen

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Conexión Ado A Base De Datos En Servidor
« Respuesta #1 en: Sábado 14 de Julio de 2007, 01:38 »
0
ah!!! Y por si alguien está en las mismas, hay un libro completísimo acerca de ado y oledb en el as400; es de IBM -de los redBooks- y se llama "a fast path to as400..." por si quieren buscarlo en google.
redbooks.ibm.com/redbooks/pdfs/sg245183.pdf :comp:
Y por qué no lo,leo? Ya lo empecé, me quedé en la página 67 pero es de 400 y tantas hojas y no tengo tanto tiempo, debo acabar cuanto antes. Pero si hay alguien que aún tenga el tiempo suficiente y sepa inglés -porque está en inglés- seguro que le servirá.
Gracias por todo :hola:
[size=109]El hombre no se rinde a los angeles ni a la muerte por entero salvo a través de la flaqueza de su débil voluntad. Edar A. Poe, "Ligeia".Joseph Glanville[/size]

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Conexión Ado A Base De Datos En Servidor
« Respuesta #2 en: Sábado 14 de Julio de 2007, 12:20 »
0
Hola

Haz probado alguna otra consulta diferente a ver si devuelve resultados?

o Haz realizado alguna prueba para saber si estas conectad@? por ejemplo


Código: Text
  1. if cm_APILIB_PARTS.state=1 then 'conectado
  2.  

Se ha habido algun error al ejecutar la consulta?

Puede ser el uso de los comodines para el operador Like algunas bases de datos utilizan (%) en lugar de (*) y (?) en lugar de ( _ ) y esto afecta el funcionamiento del operador Like (no conozco AS400 pero se me ocurre eso  :ph34r:  )

si hay datos que cumplan con la condicion (WHERE)?  :rolleyes:


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

marisol_ylonen

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Conexión Ado A Base De Datos En Servidor
« Respuesta #3 en: Jueves 19 de Julio de 2007, 00:42 »
0
Hola!
Pues, se supone que sí. La idea es que se presenten varios campos de los registros que cumplan unas ciertas condiciones, no sólo uno. Esta es una prueba pero no me sale. Lo que pretendía era: se escribe un número de parte en la caja de texto y busca en las tablas el registro de ese número. Me he encontrado ejemplos de conexión y ya los calé todos pero no logro llamar los datos porque no tengo grid en Acces y a listbox no los envia. Creo que está mal la sintaxis, pero es que al escribir Lista1. no me da ninguna opción. Si alguien sabe de algún método para jalar los datos del servidor a formularios de Access, que no sea ODBC, se lo agradecería mucho.
Muchas gracias de nuevo.
[size=109]El hombre no se rinde a los angeles ni a la muerte por entero salvo a través de la flaqueza de su débil voluntad. Edar A. Poe, "Ligeia".Joseph Glanville[/size]