| Connection problem with Pro*C/C++ [message #366465] | 
			Thu, 27 May 1999 12:53  | 
		 
		
			
				
				
				
					
						
						Lee
						 Messages: 56 Registered: May 1999 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		Please help !!! 
 
I’m trying to run an a c/c++ program using Pro*C/C++, I’m clicking the “rebuilt all” on the “build” menu and I get following error: 
 
Deleting intermediate files and output files for project 'Cv_demo - Win32 Debug'. 
--------------------Configuration: Cv_demo - Win32 Debug-------------------- 
Performing Custom Build Step on .\CV_DEMO.PC 
SQL*Plus: Release 8.0.5.0.0 - Production on Thu May 27 12:6:26 1999 
(c) Copyright 1998 Oracle Corporation.  All rights reserved. 
ERROR: 
ORA-12203: TNS:unable to connect to destination 
Enter user-name:  
Pro*C/C++: Release 8.0.5.0.0 - Production on Thu May 27 12:6:27 1999 
(c) Copyright 1998 Oracle Corporation.  All rights reserved. 
Message 1024 not found; No message file for product=pro80, facility=PGOd:\apps\ORANT\pro80\pcscfg.cfg 
PCC-F-02104, Unable to connect to Oracle 
Error executing c:\winnt\system32\cmd.exe. 
 
CV_DEMO.exe - 1 error(s), 0 warning(s) 
 
I tried to recompile 	CV_DEMO.PC in Proc*C/C++ and it compiled ok, however when I try to do this in C/C++ I get this error. 
 
I will greatly appreciate it if any one can help me with this problem (I started with Pro*C/C++ last week). 
 
I’m using : Oracle 7.3 and 8,   Pro*C/C++ 8.0.5.00,   Visual C++ 6.0 
 
The CV_DEMO.PC is as follow: 
	 
#include <STDIO.H> 
#include <STDLIB.H> 
#include <SQLCA.H> 
 
/* Error handling function. */ 
void sql_error(void) 
{ 
    EXEC SQL WHENEVER SQLERROR continue; 
    printf("%.70s\n", sqlca.sqlerrm.sqlerrmc); 
    exit(1); 
} 
 
void main() 
{ 
    char temp32; 
 
   EXEC SQL BEGIN DECLARE SECTION; 
    char db_string20 = "PROD";       
    char password20 = "highlander";      
    char userid 10 = "lsagi";    
	char db_name10 = "PROD"; 
 
        SQL_CURSOR emp_cursor; 
        int dept_num; 
        struct 
        { 
            int   emp_num; 
            char  emp_name11; 
            char  job10; 
            int   manager; 
            char  hire_date10; 
            float salary; 
            float commission; 
            int   dept_num; 
        } emp_info; 
     
        struct 
        { 
            short emp_num_ind; 
            short emp_name_ind; 
            short job_ind; 
            short manager_ind; 
            short hire_date_ind; 
            short salary_ind; 
            short commission_ind; 
            short dept_num_ind; 
        } emp_info_ind; 
    EXEC SQL END DECLARE SECTION; 
     
    EXEC SQL WHENEVER SQLERROR do sql_error(); 
 
	EXEC SQL DECLARE prod DATABASE; 
     
/* Connect to Oracle. */ 
  
    EXEC SQL CONNECT :userid IDENTIFIED BY :password 
	at :db_name  using :db_string;  
 
/* Allocate the cursor variable. */ 
    EXEC SQL ALLOCATE :emp_cursor; 
 
/* Exit the inner for (;;) loop when NO DATA FOUND. */ 
    EXEC SQL WHENEVER NOTFOUND DO break; 
 
    for (;;) 
    { 
        printf("\nEnter department number  (0 to exit): "); 
        gets(temp); 
        dept_num = atoi(temp); 
        if (dept_num <= 0) 
            break; 
 
        EXEC SQL EXECUTE 
            begin 
                emp_demo_pkg.open_cur(:emp_cursor, :dept_num); 
            end; 
        END-EXEC; 
 
        printf("\nFor department %d--\n", dept_num); 
        printf("ENAME\t             SAL\t            COMM\n"); 
        printf("-----\t             ---\t            ----\n"); 
 
/* Fetch each row in the EMP table into the data struct. 
   Note the use of a parallel indicator struct. */ 
        for (;;) 
        { 
             EXEC SQL FETCH :emp_cursor  
                 INTO :emp_info INDICATOR :emp_info_ind; 
 
             printf("%s\t", emp_info.emp_name); 
             printf("%8.2f\t\t", emp_info.salary); 
             if (emp_info_ind.commission_ind != 0) 
                 printf("    NULL\n"); 
             else 
                 printf("%8.2f\n", emp_info.commission); 
        } 
    } 
 
/* Close the cursor. */ 
        EXEC SQL CLOSE :emp_cursor; 
 
    exit(0); 
}
		
		
		
 |  
	| 
		
	 | 
 
 
 |