SQL GetDate() in Oracle

SQL GetDate() in Oracle is SYSDATE

For example:


Using an Oracle Function in .NET


Just blogging this as it was a pain in the bum to get right:

public Acres.DataContracts.BusinessCaseContentType GetFullCaseDataFromClarity( Acres.DataContracts.BusinessCaseContentType contract ) {

string xml_clob = string.Empty;

System.Data.OracleClient.OracleConnection conn = new System.Data.OracleClient.OracleConnection( ConfigurationManager.ConnectionStrings[ “ClarityConnection” ].ConnectionString );

using ( System.Data.OracleClient.OracleCommand cmd = new System.Data.OracleClient.OracleCommand() ) {


cmd.Connection = conn;
cmd.CommandText = “Workflow_procedures.webcall_business_case”;
cmd.CommandType = CommandType.StoredProcedure;

OracleParameter p_retval = new OracleParameter(“p_retval”, OracleType.Clob);
p_retval.Direction = ParameterDirection.ReturnValue;

cmd.Parameters.Add( “p_bc_id”, OracleType.Int32 ).Value = contract.ClarityBusinessCaseId;


xml_clob = ( (System.Data.OracleClient.OracleLob)( p_retval.Value ) ).Value.ToString();

contract =
( xml_clob, typeof( Acres.DataContracts.BusinessCaseContentType ) );
return contract;

Sharepoint and .resx files with workflow task form


I just figured how to use a resx file in my workflow aspx task form.

I needed to style my aspx task form with XSLT and I just hard coded it in the page knowing that I would come back to it and put it into a resource file.

NOTE: the resx files are in the following location on your sharepoint server:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\Resources

When I tried this it was not easy.

I tried many things but then stumbled upon the SPUtility.GetLocalizedString code.

Orginally this would not work as I was trying to embed an XSLT file inside the resx file and both are XML so it was gettign confused. I then replaced all the tags with < + > but only in the XSLT part of the resx file (the red bit below)

Then in my c# code I do the following:
string theApproversXSLT = SPUtility.GetLocalizedString( “$Resources:Approvers“, “Acres“, SPContext.Current.Web.Language );

Approvers is the name you can see in the resx file and Acres is the name of my file: Acres.resx.

You can use this also for language options but as you can see I just used the current:

So here is my resx file:

Microsoft ResX Schema

Version 2.0

The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.


… ado.net/XML headers & schema …
System.Resources.ResXResourceReader, System.Windows.Forms, …
System.Resources.ResXResourceWriter, System.Windows.Forms, …
this is my long stringthis is a comment

[base64 mime encoded serialized .NET Framework object]

[base64 mime encoded string representing a byte array form of the .NET Framework object]
This is a comment

There are any number of “resheader” rows that contain simple
name/value pairs.

Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don’t support this are serialized and stored with the
mimetype set.

The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:

Note – application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.

mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.

mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.

mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.



System.Resources.ResXResourceReader, System.Windows.Forms, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089

System.Resources.ResXResourceWriter, System.Windows.Forms, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089

<data name="Approvers” type=”System.Resources.ResXFileRef, System.Windows.Forms”>

Name Role Type Seq Action Type Email



?xml version=”1.0″ encoding=”iso-8859-1″?>

Cow Amount



Hope this helps someone


Approval Workflow does not send Email to approvers

Thanks to Bryant Duke for this one:

I finally found the underlying problem with email being sent with the Workflow. After much research and digging, I found several different articles which addressed the issue. Each one of them presented a portion of the solution, but none of them clearly explained it to me. I will try to explain what I mean.

First of all, I didn’t know of a MAJOR limitation to the task list of a site collection. Apparently, you can only have ONE task list in a site collection with advanced option of “Send email when ownership is assigned”. This option can be found under List Settings, Advanced Settings. After testing on two separate installations, I can conclude that if you turn this option on for both Task Lists, only one of them can actually send email on immediate notification. They will send email for late tasks, deleted tasks and even changed tasks, but the behavior was intermittent.

While creating, deleting and changing the options of two or more task lists, I watched the property and values which changed in the background. You can do this by downloading and installing “Sharepoint Manager 2007” from code-plex. http://www.codeplex.com/spm After you download and install this tool (which is a great tool), you can use the tree structure to explore your way down your portal farm configuration. First open the main + at the farm level, then


-Content Service

-Web Applications


-Site Collection




-Alert Collection

This is assuming you are using a fairly default portal installation, and you are using the default Task List in the Document Center. If not, explore to the appropriate Webs section you are working in.

Under the “Alert Collection” of the appropriate Webs section, you should see a “System” object which will show you the properties of the “Immediate” alert template. If the object is not present, no immediate alerts will be sent. Also notice, that if you set two separate Task Lists with the option “Send email when ownership is assigned”, that there will still only be ONE system object. In the properties of the object, you can see which list it is bound to under the “List” property.

If the task list is not sending immediate emails, then go to the list and change the option “Send email when ownership is assigned” to NO, close the list and wait a few minutes (usually about 5 minutes). The timer service should delete the “system” object.

Once the object is gone (you can check Sharepoint Manager 2007 using the “Refresh” option), then go back to the task list and re-enable the option. After about 5 minutes, the “System” object should return for that list.

I hope all of this make sense, and can help people solve the “Missing Emails” mystery.