Provided by: manpages-zh_1.6.3.3-2_all bug

NAME

       ecpg - 嵌入的 SQL C 預處理器

SYNOPSIS

       ecpg [ option... ] file...

DESCRIPTION 描述

       ecpg  是一個嵌入的用於C  語言的  SQL  預編譯器。  它把嵌有  SQL  語句的  C  程序通過將 SQL
       調用替換成特殊的函數調用的方法轉換成普通的   C   代碼。    然後輸出的文件就可以用任何    C
       編譯工具進行處理。

       clusterdb  將把命令行上給出的每個輸入文件轉換成對應的  C  輸出文件。  輸入文件最好有  .pgc
       的擴展名,   這樣,這個擴展將被替換成   .c    來決定輸出文件名。    如果輸入文件的擴展不是
       .pgc,那麼輸出文件名將通過在全文件名後面附加 .c 來生成。 輸出文件名也可以用 -o 選項覆蓋。

        本手冊頁並不描述嵌入的 SQL 語句,參閱 Chapter 29 獲更多信息。

OPTIONS 選項

       clusterdb 接受下列命令行參數:

       -c
               爲 SQL 代碼自動生成某種 C 代碼。目前,這個選項可以用於 EXEC SQL TYPE。

       -C mode
               設置一個兼容模式。mode 可以是 INFORMIX 或者 INFORMIX_SE。

       -D symbol
               定義一個 C 預編譯器符號。

       -i
               同時也分析系統包含文件。

       -I include-path
               聲明一個附加的包含路徑。用於尋找通過    EXEC    SQL   INCLUDE   包含的文件。缺省是
              .(當前目錄),  /usr/local/include,   在編譯時定義的PostgreSQL   包含路徑(缺省:
              /usr/local/pgsql/include)和 /usr/include。順序如上。

       -o filename
               聲明ecpg應該把它的所有輸出寫到給出的 filename裏。

       -t
               打開自動提交模式。在這種模式象,每個查詢都自動提交,
              除非它是包圍在一個明確的事務塊中。在缺省模式下,  命令只是在發出  EXEC  SQL  COMMIT
              的時候提交。

       -v
               打印額外的信息,包括版本和包含路徑。

       --help
               顯示一個命令用法的簡單摘要,然後退出。

       --version
               顯示版本信息,然後退出。

NOTES 注意

        在編譯預處理的   C   代碼文件的時候,編譯器需要能夠找到  PostgreSQL  包含目錄裏面的  ECPG
       頭文件。因此,我們在調用編譯器的時候可能需要使用                                        -I
       (比如,-I/usr/local/pgsql/include)。
        使用了嵌入    SQL    的    C    代碼必須和   libecpg   庫鏈接,比如,使用這樣的鏈接選項:
       -L/usr/local/pgsql/lib -lecpg
        這些目錄的實際值可以通過 pg_config(1) 找到。

EXAMPLES 例子

        如果你有一個叫          prog1.pgc           的嵌入           SQL           的           C
       源代碼,你可以用下面的命令序列創建一個可執行程序:

       ecpg prog1.pgc
       cc -I/usr/local/pgsql/include -c prog1.c
       cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg

譯者

       Postgresql 中文網站 何偉平 <laser@pgsqldb.org>

       本頁面中文版由中文 man 手冊頁計劃提供。
       中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh