Posts

Showing posts from May, 2025

Avoiding Date Night Disasters in Oracle APEX: Handling BST and Time Zones Properly

So you’re going on a date. You tell your better half you’ll meet her at the fine dining restaurant at 8 PM. She arrives at 7 PM, waits almost an hour, then leaves — heartbroken, annoyed, and perhaps plotting her revenge. 😬 What went wrong? Simple: You were both in different time zones… metaphorically speaking. But that’s exactly what happens in Oracle APEX when you mishandle dates , particularly when dealing with British Summer Time (BST) and time zone conversions in workflows. The APEX Date-Time Trap Let’s say you capture a date and time from a user using a date picker in an APEX form. You think you’ve got a precise timestamp to use in a workflow or scheduled activity. But then something strange happens — your workflow fires an hour early. Why? The culprit: Time zone confusion Behind the scenes, Oracle APEX stores date and timestamp values using the database session time zone , which is often UTC . If the user selected “8:00 PM BST” on the form, and you didn't properly conver...

Using OIC3 To Integrate SQL Server Data

Image
  🧭 Overview We have multiple SQL Server database running on premises and in Microsoft Azure. We also have applications and services using files and REST APIs to expose application data. We have an exiting on-premises message integration solution that is primarily XML based. We now have a Oracle cloud based solution which uses Oracle Integration Cloud version 3 (OIC3) to import and export data. We would like to leverage our investment in Oracle to integrate our data but this needs to include our existing on-premises and Azure based SQL Server databases. 📌 What This Post Covers ✅ Configuring an on-premises SQL Server connection from OIC3 ✅ Configuring an Azure SQL Server connection from OIC3 ✅ Utilizing those connections to read and write data ✅ Managing data using the XML datatype in SQL Server ⚠️ Configuring an on-premises Oracle agent is out of scope for this post. The process for setting up an agent will be covered in its own post 🧱 High-Level Approach In this solution we wil...