在C/C++法式中嵌入SQL語句操作數據庫,獲得的應用法式叫做Proc*C/C++法式!上周六無事,抽暇進修了一下Pro *C/C++,利用的參考書是《精曉Oracle 10gPro*C/C++編程》。小我感受Pro *C/C++語法不難,就是情況設置有點麻煩。編程就是如許,開首是一個坎,編譯情況設置欠好,看不到輸出成果,就難以獲得那種當作就感。下面我以一個簡單例子來申明Pro *C/C++的編譯情況的設置。
指心猿意馬可執行文件路徑現實上是在Visual C++指心猿意馬運行Oracle 10g的Pro*C/C++預編譯器proc.exe。這個proc.exe在辦事器端和客戶端都有,我想是一樣的。這里是利用的是辦事器端的。具體做法是:在VC 6.0的TOOl->Option菜單項的Directory選項卡里,在Show directoryes for選項里選擇Executable files,將proc.exe的路徑加進去。具體要加哪些頭文件呢,本家兒如果兩個,一個是sqlca.h地點的目次,一般是precomp\public,另一個是OCI的頭文件。至于庫文件,只需加OCI的庫文件。具體如下圖
 
 
 利用設置裝備擺設文件現實上是為了設置預編譯選項。因為剛入門,此次我們利用系統設置裝備擺設文件,可是系統設置裝備擺設文件并不克不及完全知足我們的需要,如系統設置裝備擺設文件并不包含解析內嵌SQL語法,是以我們要對系統設置裝備擺設文件編纂一下。系統設置裝備擺設文件一般是%precomp\admin\pcscfg.cfg。這里要按照小我的Oracle安裝目次來找,我的是:D:\Oracle\Server\precomp\admin\pcscfg.cfg。利用記事本(其它文本編纂東西也行)打開這個文件,在里面添加如下內容:
parse=full
include="C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE"
include="D:\Oracle\Server\precomp\public"
include="D:\Oracle\Server\OCI\include"
此中parse=full暗示解析源文件的所有語法,包羅C語法和內嵌SQL語法,include 則指心猿意馬了頭文件地點的路徑,包羅Visual C++頭文件路徑、ProC/C++頭文件路徑和OCI頭文件路徑。
成立VC工程,編寫代碼。
起首利用記事本新建一個文本文件,輸入以下代碼:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <sqlca.h>
int main()
{
char username[10],password[10],server[10];
printf("輸入用戶名:\n");
gets(username);
printf("輸進口令:\n");
gets(password);
printf("輸入收集辦事名:\n");
gets(server);
EXEC SQL CONNECT:username IDENTIFIED BY:password USING:server;
if(sqlca.sqlcode==0)
printf("毗連當作功!\n");
else
printf("%.*s\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);
getch();
return 0;
}
保留為demo.pc(這里注重后綴名為.pc)
在VC上建一個空的節制臺工程demo,在FileView頁面中選中Source File,將demo.pc加進工程(),如下圖所示:
 添加c文件,具體是利用上一步同樣方式,在文件名里輸入demo.c,因為此時該文件并不存在,所以會呈現下面提醒對話框。單擊是,如許就將.c文件增添到工程文件。注重,demo.c會在預編譯之后生當作。
 
 增添SQLLIB庫。具體是:在FileView頁面中選中Source Fil,選擇Add Files To Folder,將oraSQL10.LIB文件添加到工程,該文件一般在Oracle安裝文件目次下的precomp\lib子目次下。如下圖:
 設置預編譯號令。具體是在右鍵選中demo.pc,在右鍵菜單中選擇setting,在Command編纂框中輸入:proc F:\MyProSrc\ProC\Demo\demo.pc,意思是挪用proc.exe,對文件F:\MyProSrc\ProC\Demo\demo.pc進行預編譯,在Outputs編纂框中輸入:F:\MyProSrc\ProC\Demo\demo.c,意思為預編譯的輸出文件為:F:\MyProSrc\ProC\Demo\demo.c,如下圖:
 
 在完當作上述設置之后,即可成立并生當作可執行文件。按Ctrl+F5快捷鍵,Visual C++將挪用proc東西進行預編譯,將pc源法式轉為c代碼,然后可以編譯c代碼生當作方針代碼,最后鏈接方針代碼和sqllib庫文件,最終生當作可執行文件。法式運行結果圖如下:
 0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!