Pessoal, um colega est� com essa d�vida no SQLWindows.

 

Estou tentando usar campos BLOB do Oracle 9i no SQLWindos 3.1.

A Gupta recomenda a utiliza��o do par�metro USELOB = 1 dentro do arquivo SQL.INI ou

setar o par�metro DBP_ORAUSELOB atrav�s da fun��o SqlSetParameter dentro da pr�pria aplica��o

para que seja poss�vel manipular os BLOBs.

Tamb�m, encontrei, na documenta��o, a orienta��o para utilizar a fun��o SqlSetLongBindDatatype da seguinte forma:

1.Primeiro eu incluo uma linha "em branco" e coloco uma imagem na vi�vel:

  Call SalPicGetString( pic1, PIC_FormatObject , sPict )

  Call SqlPrepareAndExecute( hSqlLocal, '

  INSERT          INTO teste (

            num_a,

            dsc_b )

  VALUES(NULL,empty_blob()) ' )

2. "Preparar" o comando:

  Call SqlPrepare( hSqlLocal, '

  UPDATE teste

  SET    num_a = 1,

            dsc_b = :sPict ' )

3. Converter a vari�vel sPict que � long string para "bin�ria":

   Call SqlSetLongBindDatatype(2, 23)

4. Executar o comando:

   Call SqlExecute( hSqlLocal )

 

Consigo executar o trecho de c�digo acima sem nenhum erro, por�m quando tento consultar a

linha com o comando abaixo (ainda na fase de "prepara��o" do comando) recebo a seguinte mensagem:

 

Comando: Call SqlPrepare( hSqlLocal, '

                        SELECT dsc_b

                        FROM teste

                        INTO      :sPict ' )

Mensagem: ORA-02005: implicit (-1) length not valid for this bind or define datatype

 

Parece que a coluna BLOB est� "Nula"...

 

Algu�m j� trabalhou com BLOBs no Centura ?

Responder a