2008-09-30 6 views
0

L'application utilise Oracle DataAccess ver. 1.1. , VS 2008, Framework 3.5 w/SP1ExecuteScalar ne fonctionne pas sur le serveur

OracleConnection connection = new OracleConnection(ConnectionStringLogon); 
connection.Open(); 

OracleParameter selectParam = new OracleParameter(":applicationName", OracleDbType.Varchar2, 256); 
selectParam.Value = applicationName; 

if (connection.State != ConnectionState.Open) 
    connection.Open(); 

OracleCommand cmd = new OracleCommand(); 

cmd.Connection = connection; 
cmd.CommandText = "Select ApplicationId from Applications where AppName = 'appName'"; 
cmd.CommandType = CommandType.Text; 

if (selectParam != null) 
{ 
     cmd.Parameters.Add(selectParam); 
} 
object lookupResult = cmd.ExecuteScalar(); 
cmd.Parameters.Clear(); 

if (lookupResult != null) 

La procédure ne parvient pas sur l'objet lookupResult = cmd.ExecuteScalar(); avec cette erreur:

Type d'événement: Erreur Source de l'événement: App Log Catégorie de l'événement: Aucun ID d'événement: 9961 Date: 9/30/2008 Heure: 16:42:11 Utilisateur: N/A Ordinateur: Server15 Description: System.NullReferenceException: référence d'objet non définie sur une instance d'un objet. à Oracle.DataAccess.Client.OracleCommand.ExecuteReader (Boolean requery, Boolean fillRequest, le comportement CommandBehavior) à Oracle.DataAccess.Client.OracleCommand.ExecuteReader() à Oracle.DataAccess.Client.OracleCommand.ExecuteScalar() à l'adhésion .OracleMembershipProvider.GetApplicationId (String applicationName, Boolean createIfNeeded) dans OracleMembershipProvider.cs: ligne 1626

J'ai regardé cela sous tous les angles que je peux concevoir ... fondamentalement, peu importe comment je l'envelopperai, l'Execute échoue.

Répondre

1

Je l'avis de votre CommandText ne contient pas le paramètre spécifié « : applicationName »

1

Ce n'est pas une erreur dans « ExecuteReader ». C'est une erreur dans l'exécution de la requête ... est applicationName null?

Questions connexes