J'ai créé un service Windows qui extrait des données d'une base de données locale et exécute une fonction. Pour se connecter à la base de données j'ai écrit le code suivantWindows Le service ne démarre pas en raison de DataAdapter.Fill()
SqlConnection connstring1;
string conn1 = ConfigurationManager.ConnectionStrings["nameOfConnectionString"].ConnectionString.ToString();
connstring1 = new SqlConnection(conn1);
connstring1.Open();
string cmd = "Select [OrderId], [VendorId], [txtPaymentMethod] , [txtPaymentStatus], [Updated_On] FROM [Postmate_ Shopping].[dbo].[tbl_Order_Master] WHERE [txtPaymentMethod] = 'online' AND [txtPaymentStatus]= 'pending'";
DataTable dt = new DataTable();
DataSet ds = new DataSet();
SqlDataAdapter da1 = new SqlDataAdapter(cmd, connstring1);
da1.Fill(ds);
da1.Dispose();
connstring1.Close();
Le code avant da1.Fill (ds); fonctionne et le service est installé mais quand da1.Fill (ds); est inclus dans le code, le service ne démarre pas. J'ai essayé le même code dans une application web et ça marchait bien. C'est ce que j'ai quand da1.Fill (ds); est inclus:
Le service "ScheduledService" sur l'ordinateur local démarré puis arrêté. Certains services s'arrêtent automatiquement s'ils ne sont pas utilisés par d'autres services ou programmes.
Pour vérifier si le service fonctionne correctement j'ai supprimé le code ci-dessus et remplacé par ce code:
FileStream fs = new FileStream(@"d:\ScheduledService.txt",
FileMode.OpenOrCreate, FileAccess.Write);
//set up a streamwriter for adding text
StreamWriter sw = new StreamWriter(fs);
//find the end of the underlying filestream
sw.BaseStream.Seek(0, SeekOrigin.End);
//add the text
sw.WriteLine(content);
//add the text to the underlying filestream
sw.Flush();
//close the writer
sw.Close();
le service a bien fonctionné. J'ai essayé de rechercher le problème mais aucune solution pertinente n'a pu être trouvée. S'il vous plaît aider. Merci d'avance.
Demandez plus de précisions si nécessaire.
EDIT: Avez-vous des idées sur l'utilisation de DataTeader?
Etes-vous sûr la chaîne de connexion est correcte, et que la requête exécute contre cette connexion sans erreurs? – StingyJack
Oui, le même code que j'ai essayé dans une application web et qui a bien fonctionné. EDIT: Il récupère les valeurs de la base de données. – ashwinx
Utilisez-vous l'utilisateur Windows pour vous connecter à DB? –