Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2009, 12:56
mgd
 
Fecha de Ingreso: enero-2009
Mensajes: 129
Antigüedad: 15 años, 3 meses
Puntos: 0
Conectores 3.51.12, 3.51.27, 5.1.4, 5.1.6

Hola como les va?
Miren tengo problemas con los conectores de ODBC.
En mi maquina servidor tengo instalado el 3.51.12 y con un programa hecho en VB6 accedo y funciona casi bien solo que aveces cuando intento acceder a un recordset me dice que se perdió la conexión... en otra maquina que seria cliente y por ende se comunica al servidor este mismo conector me tira el error de la conexión constantemente en el recordset, si quiero hacer un filter, si quiero hacer un movefirst , siempre me da este error. Intente con el 3.51.27 y este si bien lo probé poco pero no me dio nunca un error, el problema de el 3.51.27 es que si ejecuto un procedimiento almacenado donde cargo un nuevo turno e intento capturar el código de ese turno ya que es autonumerico con la variable @last_insert_id() me devuelve un signo de pregunta osea esto "?". Lo probe con el 5.1.4 y con el 5.1.6 y también pasa lo mismo, ninguna me tira error pero cuando intento recuperar el valor de una columna autonumerica con @last_insert_id() me devuelve el signo "?"
bueno espero puedan ayudarme. Muchas gracias
Ahhh las variables del servidor las modifique para no perder la conexión
Gracias


les dejo el codigo del SP y de como recojo el dato

Código SP MySQL:
Ver original
  1. begin
  2.  
  3. insert into turnos (fecha, codconsultorio, cododontologo, codpaciente, horaini, horafini, codobra, codplan, observacion)
  4.     values (fechat, codconsultoriot, cododontologot, codpacientet, horainit, horafinit, codobrat, codplant, observaciont);
  5.     select last_insert_id() into @last;
  6.  
  7. end
  8.  
  9. parametros
  10.  
  11. fechat datetime, codconsultoriot int, cododontologot int, codpacientet int, horainit time, horafinit time, observaciont varchar(150), codobrat int, codplant int

Código VB6:
Ver original
  1. strsql = "select @last as cod"
  2.                     Set rs = New ADODB.Recordset
  3.                     rs.ActiveConnection = db
  4.                     rs.Open (strsql), db, adOpenDynamic, adLockOptimistic
  5.                     If rs.BOF And rs.EOF Then
  6.                         If mensaje("Error.", "exclamation", "OK", "Atención !!!", "", "") = False Then
  7.                         End If
  8.                         dbestado = False
  9.                         db.RollbackTrans
  10.                         Exit Sub
  11.                     Else
  12.                         codturno = rs!cod
  13.                     End If