Uso de variáveis de ligação do Oracle com LIKE em C #

Como parte de um esforço para parar de usar a geração dinâmica de SQL e incentivar o uso de variáveis de ligação, estou enfrentando alguns problemas.

Estou consultando um banco de dados Oracle 9i em uma página ASP.NET usando o Oracle Data Providers for .NET

A consulta é

sql = "SELECT somedata FROM sometable WHERE machine = :machineName ";

Defino o parâmetro Oracle da seguinte maneira

OracleParameter parameter = new OracleParameter();
parameter.ParameterName = "machineName";
parameter.OracleDbType = OracleDbType.Varchar2;
parameter.Value = machine; //machine is a variable of type string
parameterList.Add(parameter);

Isso funciona bem para o operador "=". Mas eu simplesmente não consigo fazê-lo funcionar com "LIKE". Não sei como formatar a consulta para que ela aceite o uso do curinga "%".

Eu tentei:

sql = "SELECT somedata FROM sometable WHERE machine LIKE :machineName% ";
sql = "SELECT somedata FROM sometable WHERE machine LIKE ':machineName%' ";
sql = "SELECT somedata FROM sometable WHERE machine LIKE :machineName||% ";

e também:

parameter.Value = machine+'%';

mas tudo o que recebo são exceções ORA-00911 (caractere ilegal) e ORA-01036 (nome / valor ilegal).

O que estou fazendo errado?

questionAnswers(1)

yourAnswerToTheQuestion