首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

Pro*C/C++ 入門筆記:VC++ 6.0 環境配置與第一個範例

     編輯:關於SqlServer

Pro*C/C++ 是 Oracle 提供的嵌入式 SQL 預編譯器,允許在 C/C++ 程式碼中直接撰寫 SQL。本文記錄在 Windows XP + VC++ 6.0 + Oracle 10g 環境下的配置步驟與常見坑點。

環境配置四步驟

  1. 設定可執行檔路徑:VC++ 選單 Tools → Options → Directories,Show directories for: Executable files 加入 $ORACLE_HOME\bin (含 proc.exe)。
  2. 設定標頭檔路徑:同視窗切換至 Include files,加入:
    $ORACLE_HOME\precomp\public (含 sqlca.h)
    $ORACLE_HOME\oci\include (OCI 標頭檔)
  3. 設定庫檔路徑:切換至 Library files,加入 $ORACLE_HOME\oci\lib\msvc。
  4. 專案設定:Project → Settings → Link,Object/Library modules 加入 orasql10.lib、oci.lib。

預編譯與建置流程

  1. 撰寫 .pc 檔 (含 EXEC SQL 區塊)。
  2. 命令列執行 proc iname=test.pc 產生 .c / .cpp。
  3. VC++ 專案加入產出的 C/C++ 檔,正常建置。

第一個範例:連線並查詢

#include 
#include 
#include 

EXEC SQL BEGIN DECLARE SECTION;
  char uid[20] = "scott/tiger";
EXEC SQL END DECLARE SECTION;

int main() {
  EXEC SQL CONNECT :uid;
  if (sqlca.sqlcode != 0) {
    printf("連線失敗: %.*s\n", sqlca.sqlerrm.sqlerrml, sqlca.sqlerrm.sqlerrmc);
    return 1;
  }
  printf("連線成功!\n");
  EXEC SQL COMMIT RELEASE;
  return 0;
}

常見問題與解決

  • proc.exe 找不到:確認 PATH 包含 $ORACLE_HOME\bin,或在 VC++ 目錄設定。
  • 標頭檔 sqlca.h 找不到:確認 precomp\public 在 Include 路徑中。
  • 連結錯誤 LNK2001: unresolved external symbol sqlcxt:未連結 orasql10.lib。
  • 執行期 ORA-12154:tnsnames.ora 設定錯誤或連線字串格式不正確。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved