DBEXPRESS x ORACLE 10G

22/02/2010

1

URGENTE!
Vejam o que está acontecendo comigo. Parece que o DBEXPRESS endoidou!
Utilizo a seguinte configuração:
Delphi 2010
Banco de dados: ORACLE 10G
Componentes de Conexão: DBEXPRESS
    LibraryName = 'dbxora.dll'
    VendorLib = 'oci.dll'

TSQLConnection->TSQLQuery->TDataSetProvider->TClientDataSet->TDataSource->TDBGrid

tudo normal a priori na visualização dos dados no DBGRID, como por exemplo quando
acesso a seguinte tabela:
SQL> desc cr;
Nome                                      Nulo?    Tipo
----------------------------------------- -------- ------------
CODIGOCR                                  NOT NULL NUMBER(4)
GRPCR                                    NOT NULL NUMBER(2)
NOMECR                                    NOT NULL VARCHAR2(50)
ATIVOCR                                            VARCHAR2(1)
SQL> select count(*) from cr;
  COUNT(*)
----------
        12

Tudo beleza! AGORA!!! Quando ACESSO A SEGUINTE TABELA:
SQL> DESC ITEMPROJ;
Nome                                      Nulo?    Tipo
----------------------------------------- -------- -------------

CRITEMPROJ                                NOT NULL NUMBER(4)
CENARIOITEMPROJ                          NOT NULL NUMBER(2)
PROJETOITEMPROJ                          NOT NULL NUMBER(6)
CODIGOITEMPROJ                            NOT NULL VARCHAR2(16)
NOMEITEMPROJ                                      VARCHAR2(100)
INDFINITEMPROJ                                    NUMBER(14)
NIVELITEMPROJ                                      VARCHAR2(1)
TIPOITEMPROJ                              NOT NULL VARCHAR2(1)
BDIITEMPROJ                                        NUMBER(6,2)
QTDITEMPROJ                                        NUMBER(11,3)
QTDCORITEMPROJ                                    NUMBER(11,3)
PRCUNITVENDAITEMPROJ                              NUMBER(16,5)
PRCREAJVENDAITEMPROJ                              NUMBER(16,5)
PRCUNITCUSTOITEMPROJ                              NUMBER(16,5)
UNDITEMPROJ                                        VARCHAR2(4)
CODIGOPAIITEMPROJ                                  VARCHAR2(16)
CODIGOORGAOITEMPROJ                                VARCHAR2(16)
CUSTOITEMPROJ                                      NUMBER(6,2)
CRONSPITEMPROJ                                    VARCHAR2(1)
CALENDARIOITEMPROJ                                NUMBER(2)
CALCULOITEMPROJ                                    VARCHAR2(1)
CODIGORELITEMPROJ                                  VARCHAR2(16)

SQL> SELECT COUNT(*) FROM ITEMPROJ;
  COUNT(*)
----------
      6420


SIMPLESMENTE O DBGRID MOSTRA OS DADOS DOIDOS, ALGUNS CARACTERES MALUCOS,
MOSTRA COLUNAS TROCADAS, ISTO É, MISTURA AS COISAS E NÃO MOSTRA OS
DADOS CORRETAMENTE. ALGUÉM JÁ SE DEPAROU COM ISSO?


TESTE:
object Form2: TForm2
  Left = 384
  Top = 158
  Caption = 'Form2'
  ClientHeight = 466
  ClientWidth = 862
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnShow = FormShow
  PixelsPerInch = 96
  TextHeight = 13
  object DBGrid1: TDBGrid
    Left = 264
    Top = 24
    Width = 569
    Height = 425
    DataSource = DataSource1
    TabOrder = 0
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
    Columns = <
      item
        Expanded = False
        FieldName = 'CODIGOITEMPROJ'
        Visible = True
      end
      item
        Expanded = False
        FieldName = 'NOMEITEMPROJ'
        Visible = True
      end>
  end
  object BitBtn1: TBitBtn
    Left = 32
    Top = 312
    Width = 75
    Height = 25
    Caption = 'BitBtn1'
    DoubleBuffered = True
    ParentDoubleBuffered = False
    TabOrder = 1
    OnClick = BitBtn1Click
  end
  object SQLConnection1: TSQLConnection
    ConnectionName = 'OracleConnection'
    DriverName = 'Oracle'
    GetDriverFunc = 'getSQLDriverORACLE'
    LibraryName = 'dbxora.dll'
    LoginPrompt = False
    Params.Strings = (
      'DriverName=Oracle'
      'DataBase=XE'
      'User_Name=SGO'
      'Password=OGS'
      'RowsetSize=2000'
      'BlobSize=-1'
      'ErrorResourceFile='
      'LocaleCode=0000'
      'IsolationLevel=ReadCommitted'
      'OS Authentication=False'
      'Multiple Transaction=False'
      'Trim Char=False'
      'Decimal Separator=.')
    VendorLib = 'oci.dll'
    Connected = True
    Left = 48
    Top = 24
  end
  object SQLQuery1: TSQLQuery
    MaxBlobSize = -1
    Params =
    SQL.Strings = (
      'SELECT * '
      'FROM ITEMPROJ'
      'ORDER BY CODIGOITEMPROJ')
    SQLConnection = SQLConnection1
    Left = 48
    Top = 72
  end
  object DataSetProvider1: TDataSetProvider
    DataSet = SQLQuery1
    Left = 48
    Top = 128
  end
  object ClientDataSet1: TClientDataSet
    Active = True
    Aggregates =
    Params =
    ProviderName = 'DataSetProvider1'
    Left = 72
    Top = 376
  end
  object DataSource1: TDataSource
    DataSet = ClientDataSet1
    Left = 152
    Top = 376
  end
end
 
Responder

Posts

22/02/2010

Hélio Marques

  Interessante que faço este mesmo exemplo no delphi 7 e funciona normalmente, sem nenhum problema, mostra no DBGRID todas os dados em cada coluna normalmente, sem nenhum problema.
Agora no DELPHI 2010 mostra tudo baldeiado.
Responder

22/02/2010

Hélio Marques

  em algumas colunas do DBGRID ao invés de mostrar o conteúdo do campo apresenta a mensagem "BCD OVERFLOW".
Peguei este mesmo exemplo coloquei no delphi 7 e funcionou perfeitamente.
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira