CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 4 of 4

Thread: ORACLE BLOBS

  1. #1
    Join Date
    May 1999
    Posts
    1

    ORACLE BLOBS

    Anybody had any luck writing BLOBS to ORACLE 8 via ODBC using MFC's CLongBinary? I can read from LONG RAW calumns inro CLongBinary objects but cannot exchange in the other direction. Any Ideas?


  2. #2
    Join Date
    Jan 2000
    Location
    Tamilnadu,India
    Posts
    92

    Re: ORACLE BLOBS

    hi Chris,

    I am also had the same problem some times back. But able to solve by the following way.

    1.Find the length of the data and allocate memory and get handle for the memory in HGLOBAL type(HGLOBAL hGlobal).

    2.GlobalLock fun lock the allocated memory area and assign a pointer to that memory(char *pcData).

    3.Then move the data from the variable(apcFieldvalue) to memory(pcData) using for...loop. then UnLock memory .

    4. Assign the handle to the memory area(hGlobal) to the member of CLongBinary(m_hData).and the length of the data to another member of CLongBinary(m_dwDataLength).

    5. Then call SetFieldDirty and SetFieldNull functions to indicate changes.

    6. Then call Update to data into table.

    NOTE:

    m_pSet--- Recordset pointer
    m_Emailid ----member representing the long column in table
    m_No ---------member representing varchar column in the table



    hGlobal =::GlobalAllocGHND,auLength);
    m_pSet->AddNew();
    m_pSet->m_No = h+1;
    pcData =(char *)::GlobalLock(hGlobal);
    for(unsigned long j=0;j<auLength;j++)
    {
    pcData[j] = apcFieldvalue[j];
    }
    ::GlobalUnlock(hGlobal);

    m_pSet->m_EMailid.m_hData = hGlobal;
    m_pSet->m_EMailid.m_dwDataLength = ::GlobalSize(m_pSet->m_EMailid.m_hData );
    m_pSet->SetFieldDirty(&m_pSet->m_EMailid,TRUE);
    m_pSet->SetFieldNull(&m_pSet->m_EMailid,FALSE);
    m_pSet->Update();






    I don't know how to read from the table using CLongBinary. It make a lot of problem for me. Can you help me how to read it?

    -Kannan.A.
    email::[email protected]


  3. #3
    Join Date
    May 2001
    Posts
    5

    Re: ORACLE BLOBS

    Hi Chris

    you are very Lucck that you can read the longraw data from Oracle. My Problem is that I cannot even read the Data from the Oracle Blob. I believe that Code in VC++ should be same for reading long raw or BLOB.

    can you please give me the Source code for reading the Blob data from Oracle.

    As far as Storing of the Binary Data in the Oracle I am Using the Oracle Stored to do that , if you want to know how we can store the binary Data throught the Stored procedures I can give you the Source of the Oracle Stored Procedure ))


    Thanks in advance


  4. #4
    Join Date
    May 2001
    Posts
    5

    Re: ORACLE BLOBS

    Hi Chris

    you are very Lucck that you can read the longraw data from Oracle. My Problem is that I cannot even read the Data from the Oracle Blob. I believe that Code in VC++ should be same for reading long raw or BLOB.

    can you please give me the Source code for reading the Blob data from Oracle.

    As far as Storing of the Binary Data in the Oracle I am Using the Oracle Stored to do that , if you want to know how we can store the binary Data through the Stored procedures I can give you the Source of the Oracle Stored Procedure ))


    Thanks in advance


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured