2010-11-19 2 views
1

Je suis en train de mettre à jour une application existante qui utilise une fabrique pour créer des instructions préparées, puis les exécute plus tard, ce qui fonctionne pour le reste du système. mais j'ai été chargé d'ajouter un appel à une instruction qui utilise un texte, et je n'arrive pas à comprendre comment préparer correctement la déclaration. Je reçois une erreur d'exécution de "méthode SqlCommand.Prepare nécessite tous les paramètres de longueur variable d'avoir une taille non nulle explicitement définie." mais je ne suis pas sûr de la valeur à utiliser pour la longueurComment préparer une instruction ADO.NET qui inclut un paramètre NText (clob)

code obligatoire Exemple:

SqlCommand update = new SqlCommand("UPDATE Log.Response_File_Log " + 
    "SET File = @File " + 
    ", DateFileReceived = GETDATE() " + 
    "WHERE RunID = @RunID", _connection); 
update.Parameters.Add(new SqlParameter("@File", SqlDbType.NText)); 
update.Parameters.Add(new SqlParameter("@RunID", SqlDbType.Int)); 
update.Prepare(); 

Répondre

2

Ne pas utiliser NTEXT, est un deprecated type. Si votre base de données possède une colonne NTEXT, remplacez-la par VARBINARY(MAX). Utilisez -1 pour MAX longueur des paramètres de type: (...,SqlDbType.Varbinary, -1).

0

Pouvez-vous mettre à la longueur des données vous passez pour @file paramètre? Ce n'est qu'une suggestion.

Questions connexes