Results 1 to 4 of 4
  1. #1
    Join Date
    Jun 2004

    Unanswered: ODBC for MS SQL server to access stored procedure

    I have a stored procedure written in MS SQL Server2000 which takes argument(OUTPUT) as a cursor, and fills in the cursor with the record from the table.

    I have to run this stored procedure from my C application program running in SUN OS2.9 with the help of ODBC calls.

    Can anyone guide me through steps as to how to run the store procedure from my C program and receive records with the help of the cursor.

    The store procedure is as follows

    CREATE PROCEDURE testCursor @xyzCursor cursor varying OUT AS
    FOR SELECT * FROM table
    OPEN temp
    SET @xyzCursor=temp

  2. #2
    Join Date
    Feb 2004
    In front of the computer
    Provided Answers: 54
    My first guess is that your design (having a stored procedure return a cursor) is going to run VERY poorly on an MS-SQL Server (or any relational database). MS-SQL is intended to do sets of data efficiently (which it does), but it doesn't do unit-record processing well.

    Can you explain in a bit more detail what it is that you want to accomplish, and I'm sure that one of us can suggest a better relational design.


  3. #3
    Join Date
    Jun 2004
    Ok I have table with few columns and from my C application I need to fetch records from that table using ODBC api's.

    I agree that it would run poorly but was trying out different methods of retrieving records from the table into my C application before impleting the design.

    Now using the CURSOR is one of the way which I had no idea how to handle in my C code.

    I mean how to use ODBC api's to get those records?

  4. #4
    Join Date
    Mar 2004
    To read some rows from a table with the ODBC API in C++, you need to do the following (a cursor is not needed):

    1. Run the SELECT query using either SQLExecDirect(), or SQLPrepare() / SQLExecute()
    2. Call SQLFetch() in a loop until false. Each call will retrieve 1 row.

    But in order for these functions to work, you need to call SQLConnect(), SQLBindCol(), SQLBindParameter(), etc in order to set things up.

    If you google for these keywords you can track down some sample programs.

Posting Permissions

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