1

これが私がウェブサイトから入手したプログラムのサンプルです:http ://www.csee.umbc.edu/portal/help/oracle8/server.815/a68022/sql.htm :

#include <stdio.h> 

/* declare host variables */ 
char userid[12] = "SCOTT/TIGER";
char emp_name[10];
int emp_number;
int dept_number; 
char temp[32];
void sql_error();

/* include the SQL Communications Area */ 
//#include <sqlca.h> 

main() 
{ emp_number = 7499;
/* handle errors */ 
EXEC SQL WHENEVER SQLERROR do sql_error("Oracle error");

/* connect to Oracle */ 
EXEC SQL CONNECT :userid; 
printf("Connected.\n"); 

/* declare a cursor */ 
EXEC SQL DECLARE emp_cursor CURSOR FOR 
SELECT ename 
FROM emp 
WHERE deptno = :dept_number; 

コンパイラがステートメントに到達するたびにEXEC、コンパイルエラーが発生します。

E2451 SQL.CPP 17:関数main()の未定義のシンボル'EXEC'

Borland c ++VER5.5.1とSQL2008R2を使用しています。

4

2 に答える 2

2

これらの SQL ステートメントは有効な C コードではなく、コンパイルの前に、生の SQL ステートメントを C に変換する方法を知っている追加のプリプロセッサを通過する必要があります。

リンクから前の章、特にChapter 1 , What Is an Oracle Precompiler?から始めてください。.

于 2012-07-16T16:47:15.977 に答える
0

そのページのコードは C++ ではありません

これは、 Pro*C/C++ プリコンパイラで使用する特別な方言です。(リンクは @pb2q からコピーされました。)

于 2012-07-16T17:26:15.837 に答える