Het probleem bleek niets te maken te hebben met de gegevenstypen. Ik gebruikte de Int64 in de Oracle-parameter en het werkte, maar alleen nadat ik de eigenschap BindByName op mijn Command-object op true had gezet.
Blijkbaar is de standaard voor de .NET System.Data.OracleClient-provider 'BINDEN OP NAAM', terwijl de standaard voor Oracle.DataAccess 'BINDEN OP POSITIE' is.
Het zou leuk geweest zijn als de gevangen Oracle Exception meer informatie zou bevatten, zoals welke parameter de exception veroorzaakte. Dit heeft me misschien geholpen het probleem eerder te ontdekken.