orafce

This Release
orafce 4.9.3
Date
Status
Stable
Latest Testing
orafce 3.1.0 —
Other Releases
Abstract
Oracle's compatibility functions and packages
Description
This module allows use a well known Oracle's functions and packages inside PostgreSQL
Released By
okbob
License
PostgreSQL
Resources
Special Files
Tags

Extensions

orafce 4.9.3
Oracle's compatibility functions and packages

Documentation

Orafce_Documentation_02
Orafce_Documentation_02
sql_migration01
sql_migration01
sql_migration07
sql_migration07
Orafce_Documentation_07
Orafce_Documentation_07
sql_migration02
sql_migration02
sql_migration06
sql_migration06
Orafce_Documentation_03
Orafce_Documentation_03
sql_migration00
Oracle to PostgreSQL Migration Guide
Orafce_Documentation_05
Orafce_Documentation_05
sql_migration05
sql_migration05
Orafce_Documentation_06
Orafce_Documentation_06
sql_migration03
sql_migration03
sql_migration04
sql_migration04
Orafce_Documentation_04
Orafce_Documentation_04
Orafce_Documentation_01
Orafce Documentation

README

Contents

Build on Microsoft Windows with Microsoft Visual Studio

1. For Postgres 12 and higher you need libicu headers

2. Orafce library is linked with runtime library - this library should to use
   same platform toolset like Postgres server.

3. Start empty project

4. Add existing items - *.c and *.h files except "sqlscan.c". This file is compiled
   as include of sqlparse.c and should not be compiled as separate c file!

5. In configuration manager choose configuration - "Release" and platform. Platform must be
   same like your Postgres server.

6. V project properties set

  Under "Configuration Properties" -> "General", set "Configuration Type" to "Dynamic Library (.dll)".

  Under "C/C++" -> "Preprocessor Directives", add the directive "WIN32"

  Under "C/C++" -> "Code Generation", set "Enable C++ Exceptions" to "No"
  "C/C++" -> "Code generation" -> "Runtime library" must be /MD

  Under "Advanced" set "Compile As" to "C Code"

  Under "Linker" -> "Manifest File", set "Generate Manifest" to "No"

  Under "Linker" -> "Input" -> "Additional Dependencies", add postgres.lib to the library list

  In the properties dialog, go to "Configuration Properties" -> "C/C++" -> "General", "Additional
  Include Directories"

     include\server\port\win32_msvc
     include\server\port\win32
     include\server
     include

  Attention, there should be real paths to include files .. "include\server\port\win32_msvc" is in my case
  "C:\Program Files\PostgreSQL\13\include\server\port\win32_msvc". All four paths to include folders should
  be correct.

  PostgreSQL 10 and higher requires lib ICU include file. I had install libICU before, and then add to
  "Additional Include Directories" C:\Users\user\Documents\icu-59.1-vs2015\include

  You’ll also need to set the library path. Under "Linker"->"General", in Additional Library Directories.
  In my case that’s C:\Program Files\PostgreSQL\12\lib.

  set "Linker"->"General"->"Link Library Dependencies" to No.

7. Under "C/C++" -> "Advanced", Set "Disable Specific Warnings" to "4996"

8. make build