Skip Headers

Oracle Calendar Application Developer's Guide
Release 2 (9.0.4)

Part Number B10893-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Feedback

Go to previous page
Previous
Go to next page
Next
View PDF

7
Calendar SDK FAQ and Troubleshooting

This chapter contains frequently asked questions and troubleshooting information for the Oracle Calendar SDK.

Frequently Asked Questions

Can I use previous versions of the SDK ("CAPI") with the new Oracle Calendar server? What about my existing applications?

The newest release of the Calendar SDK will include a migration utility for pre-9.0.4 versions. This will allow you to port your old applications to the new Calendar server.

What's the difference between the Steltor packages and the newest Oracle Calendar SDK?

With the 9.0.4 release of the Oracle Calendar SDK, many new features have been added. In addition to the new server, which provides better performance and more efficient processing, the following has been added to the SDK package:

Can I write an Oracle Calendar SDK program using Visual Basic or other programming languages?

The Oracle Calendar SDK is a package of C/C++ function calls, so any language that can natively support C can be used to create a wrapper and access these functions.

Options include using Visual Basic, Perl, Java, and Python. There may be other independent efforts in existence; the Oracle Calendar SDK forum on Oracle OTN is a good place to look for such information.

How do I uninvite someone from an event?

Either replace the event by calling CSDK_StoreEvents and supplying an iCalendar without an ATTENDEE property for the user, or use CAPI_GetHandle for the user you want to remove from the list of attendees, followed by a call to CAPI_DeleteEvent.

How do I invite someone to an event?

Provide an ATTENDEE property for the user when calling CSDK_StoreEvents.

Can I log in as the calendar server administrator (Calendar SYSOP) using Oracle Calendar SDK?

Yes. Calendar SYSOP login is supported as of release 9.0.4 of the Oracle Calendar SDK.

How do I delete an event completely?

Use the function CSDK_DeleteEvents, supplying the event UID.

Troubleshooting

When I run the Oracle Calendar SDK demos, I get the error "libcapi.so not found, no such file or directory", or "Cannot load library libcapi". How do I fix this?

See the latest Oracle Calendar SDK Readme file for this information.

I'm getting error 2148073984 from calling an Oracle Calendar SDK function. What does that mean? Where can I find more information on Oracle Calendar SDK errors?

Chapter 6, "Calendar SDK Status Codes", contains a list of Oracle Calendar SDK status codes. Each code can be divided into five fields, each describing a different level of the problem.

The two helper functions, CSDK_GetStatusLevels() and CSDK_GetStatusString(), can help decode the error easily. You can also look at the demo applications that ship with Oracle Calendar SDK for an example of how to decode error codes.

Why don't I get ATTENDEE properties when fetching an event using Oracle Calendar SDK?

Since an e-mail address is required to generate the iCalendar ATTENDEE property, Oracle Calendar SDK will skip any attendee who does not have an e-mail address when exporting an iCalendar event. The suggested workaround is to make sure all attendees have an e-mail address stored on the calendar server.

Why do my accented e characters appear as =C3=A9 in events I retrieve using Oracle Calendar SDK?

Oracle Calendar SDK encodes its output in UTF-8, in which the character is represented as 2 bytes: 0xC3 and 0xA9. When returning MIME-encapsulated data, Oracle Calendar SDK further encodes those bytes in quoted-printable strings, which results in =C3=A9.

There seem to be a lot of extra =3D characters in the ATTENDEE property. Did I just discover a bug?

No, this is not a bug. =3D is really an equal sign (=) encoded in quoted-printable. So, where you might expect to see partstat=confirmed, you would actually see partstat=3Dconfirmed.

I just stored an iCalendar event with 5 ATTENDEE properties. Why are none of them showing in my native client?

When using CAPI_StoreEvents to invite people to an event, you need to supply a CAPIHandle for each attendee.

Why do I get a LNK1106 error when compiling Oracle Calendar SDK with Microsoft Visual C++?

Oracle Calendar SDK was compiled with Visual C++ 6; older versions need a patch to work. Search the Microsoft Web site for available patches.

Ensuring that you are using Visual C++ will mitigate linking errors you may encounter with other C compilers. Refer to the demo applications project for recommended compiler and linker settings.

Why is my program aborting whenever I use CSDK_CreateFileStream()? I tried the other type of streams and they worked fine.

You need to link your application using Microsoft's C runtime library (the /MD switch if you're using the command line) as opposed to the static C libraries. This is required because the FILE pointer used by the file stream has different definitions depending on which version of the C library is being used.

CSDK_CreateFileStreamFromFilenames can be used, in which case the FILE pointer will not need to be passed between the SDK and your application.

Why does CSDK_GetHandle() tell me it can't find my resource?

There are a couple of possible answers:

1. Your resource name may contain accented or special characters such as "#". Oracle Calendar SDK expects user and resource identification strings to be in UTF-8. Be sure to use the proper UTF-8 values to describe accented or special characters.

2. Your resource name contains a forward-slash / character, such as ""Training / Meeting Room"". The use of this character inside resource names conflicts with the / used by default as the field delimiter. To fix this, simply use another character as your delimiter. For example, RS=Work/.

Why does Oracle Calendar SDK seem to be ignoring my vAlarm information when I use CAPI_StoreEvent?

You can only set a vAlarm (reminder) on events in your own agenda.

Why won't CAPI_FetchEventsByRange() show any of my event reminders?

This is the normal behavior of the function. To retrieve reminders (vAlarms), it is recommended that you use the functions CSDK_FetchEventsBy..., CAPI_FetchEventByID() or CAPI_FetchEventsByAlarmRange().