orafce

This Release
orafce 4.14.1
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.14.1
Oracle's compatibility functions and packages

Documentation

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

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