Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-01-2012
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
dbexpress driver does not support the tdbxtypes.unknown data type.

Bueno:
Acudo a Ud. pues no encuentro respuestas. Resulta que estoy migrando de D2007 a XE2, en 2007 saque el BDE y pase todo a DbExpress.
Bien ahi todo bien , pero en XE2 Enterprise tengo el primer problema . En un Store Procedure (uso interbase 7.5), donde pido el numero de comprobante, cuando lo ejecuto me dice
dbexpress driver does not support the tdbxtypes.unknown data type. Vendor....
como si un dato que me devuelve el SP no tenga asignado un tipo de datos, lo cual no es asi ya que cuando se asigna un sp el comp TSQLStoreProc, los carga solo. Al Inspeccionar los Param, veo que tambien me trae, las funciones UDF.... no entiendo?
el SP es este:

Código SQL [-]
CREATE PROCEDURE TRAE_NRO_CPBTE (
    CLASECOMP VARCHAR(2),
    TIPOCOMP VARCHAR(2),
    LETRA_ING VARCHAR(1),
    COMPRAVENTA VARCHAR(1),
    SUCURSAL INTEGER)
RETURNS (
    LETRA VARCHAR(1),
    PREFIJO VARCHAR(4),
    DESGLOZA_IVA VARCHAR(1),
    NUMERO VARCHAR(8),
    VA_LIBRO_IVA VARCHAR(1),
    CLASE_COMPROB VARCHAR(2),
    TIPO_COMPROB VARCHAR(2),
    CON_NUMERACION VARCHAR(1),
    COPIAS INTEGER,
    VA_CTACTE VARCHAR(1),
    IMPRIME VARCHAR(1))
AS
DECLARE VARIABLE ID_CPBTE INTEGER;
DECLARE VARIABLE ID_DESDE INTEGER;
begin
    id_desde=0;
    id_cpbte=0;
    select c.id_comprobante,c.toma_nro_de,c.desgloza_iva,c.afecta_iva,
           c.afecta_cc,C.tipo_comprob,c.clase_comprob, c.copias,
           c.numerarcion_propia,c.imprime from comprobantes c
      where c.sucursal=:sucursal and c.clase_comprob=:clasecomp and c.tipo_comprob=:TIPOCOMP and c.letra=:letra_ing and c.compra_venta=:compraventa
        into :id_cpbte,:id_desde,:desgloza_iva,:va_libro_iva,:va_ctacte,:tipo_comprob,:clase_comprob,:copias,
          :con_numeracion,:IMPRIME;
    if ((id_desde=0)or (id_desde is null)) then
      begin
        select c.letra,c.prefijo,c.numero from comprobantes c
          where c.id_comprobante=:id_cpbte
            into :letra,prefijo,:numero;
         /* insert into test(numero,numero2,codigo, dato)
            values(0,0,'','Tare nro '||:numero);
         */
      end
    else
      begin
        select c.letra,c.prefijo,c.numero from comprobantes c
          where c.id_comprobante=:id_desde
            into :letra,prefijo,:numero;
      end
  /* Procedure Text */
   suspend;
END

y la llamada desde el prog es:

Código Delphi [-]
pROCEDURE TFormTicketVta.UltimoComprobante;
VAR
  Numero: Integer;
BEGIN
  WITH DatosVentasTicket,DMStoreProcedure, FormTicketVta DO
    BEGIN
      BEGIN
        //Traigo la Letra que corresponde segun el tipo de Inscripcion de IVA
        IF (CDSVentaCabLETRAFAC.AsString <> '') AND (CDSVentaCabCLASECPBTE.Value <> '') THEN
          BEGIN
            spNumeroCpbte.Close;
            spNumeroCpbte.ParamByName('Letra_Ing').Value   := CDSVentaCabLETRAFAC.AsString;
            spNumeroCpbte.ParamByName('Sucursal').Value    := CDSVentaCabSucursal.Value;
            spNumeroCpbte.ParamByName('ClaseComp').Value   := CDSVentaCabCLASECPBTE.Value;
            spNumeroCpbte.ParamByName('TipoComp').Value    := CDSVentaCabTIPOCPBTE.AsString;
            spNumeroCpbte.ParamByName('CompraVenta').Value := 'V';
            spNumeroCpbte.ExecProc;
            IF spNumeroCpbte.ParamByName('con_numeracion').AsString <> 'X'THEN
              BEGIN
                IF spNumeroCpbte.ParamByName('prefijo').AsString <> '' THEN
                  Numero := StrToInt(spNumeroCpbte.ParamByName('prefijo').AsString)
                ELSE
                  Numero := 1;
                CDSVentaCabSucFacSetText(CDSVentaCabSucFac,IntToStr(Numero));
                IF spNumeroCpbte.ParamByName('numero').AsString <> '' THEN
                  Numero := StrToInt(spNumeroCpbte.ParamByName('numero').AsString) + 1
                ELSE
                  Numero := 1;
                CDSVentaCabNumeroFacSetText(CDSVentaCabNumeroFac,IntToStr(Numero));
              END;
            CDSVentaCabDESGLOZAIVA.Value       := spNumeroCpbte.ParamByName('desgloza_Iva').AsString;
            CDSVentaCabINGRESA_A_CTACTE.Value  := spNumeroCpbte.ParamByName('Va_CtaCte').AsString;
            CDSVentaCabINGRESA_LIBRO_IVA.Value := spNumeroCpbte.ParamByName('Va_Libro_Iva').AsString;
            CDSVentaCabTIPOCPBTE.Value         := spNumeroCpbte.ParamByName('Tipo_Comprob').AsString;
            CDSVentaCabCLASECPBTE.Value        := spNumeroCpbte.ParamByName('Clase_Comprob').AsString;
            Imprime:= spNumeroCpbte.paramByName('Imprime').AsString;
            spNumeroCpbte.CLose;
          END;
        CDSVentaCabNroCpbte.AsString := CDSVentaCabLetraFac.AsString + CDSVentaCabSucFac.AsString + CDSVentaCabNumeroFac.AsString;
      END;
  END;
END;

lo que no se por que me trae como paramtros las funciones UDF, creo que por ahi es el tema pero no se como hacer para que no las cargue como param.

gracias (por ahora)

Luis Roldan
Mar del Plata
Argentina
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema Conexion dbExpress -Informix-dbexpress driver does not support the tdbxtypes ocramchg Conexión con bases de datos 0 28-09-2011 20:41:12
ERROR: Data Type mismatch in criteria expression El Mike Conexión con bases de datos 7 01-12-2008 22:22:46
Inaceptable !! Con Oracle, "dbExpress driver does not support the TDBXTypes.FLOAT rolandoj Conexión con bases de datos 0 22-05-2008 04:36:42
Domain ó Standard data Type? jwmoreira Firebird e Interbase 2 01-03-2007 22:36:35
Error [Oracle][ODBC]restricted data type attribute violation bego Oracle 3 06-01-2007 18:55:23


La franja horaria es GMT +2. Ahora son las 05:31:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi