Я пытаюсь сделать службу Windows на C#, чтобы ежедневно отправлять автоматически электронные письма на основе данных, считываемых из указанной базы данных SQL-сервера.Проблемы с подключением к сети Windows C#
Я настроился на запуск службы, чтобы автоматически отправлять электронную почту, но когда я пытаюсь вставить услугу sqlconnection
, просто не работает. Любые идеи?
Он работает, если я удаляю SqlConnection
и устройство для чтения данных.
Вот мой код:
System.Timers.Timer createOrderTimer;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
createOrderTimer = new System.Timers.Timer();
createOrderTimer.Elapsed += new System.Timers.ElapsedEventHandler(GetMail);
createOrderTimer.Interval = 2500;
createOrderTimer.Enabled = true;
createOrderTimer.AutoReset = true;
createOrderTimer.Start();
}
protected override void OnStop()
{
}
public void GetMail(object sender, System.Timers.ElapsedEventArgs args)
{
SqlConnection connect = new SqlConnection("Server=10.222.160.17,5356;"
+ "Database=tracking_tool;"
+ "Trusted_Connection=True;"
+ "user=admin;"
+ "password=root");
string line = "";
connect.Open();
SqlCommand GetData = new SqlCommand("select * from validation", connect);
SqlDataReader ReadData = null;
ReadData = GetData.ExecuteReader();
while (ReadData.Read())
{
line = ReadData["Line"].ToString();
}
connect.Close();
MailMessage mailMessage = new MailMessage();
mailMessage.To.Add("[email protected]");
mailMessage.From = new MailAddress("[email protected]");
mailMessage.Subject = "example";
mailMessage.Body = "example";
SmtpClient smtpClient = new SmtpClient("10.214.81.97");
smtpClient.Send(mailMessage);
}
Вы получаете какие-либо ошибки? – Ted
Итак, вы получаете какие-то исключения, это может помочь в расследовании проблемы. Также вы уверены, что строка подключения правильная? В ip есть запятая. Я не эксперт, но я никогда не сталкивался с этим раньше. –
Trusted_Connection = True скрывает имя пользователя и пароль и входит в вашу службу, пользователь, выполняющий службу, является тем, который был представлен для аутентификации сервера sql. Я бы попытался удалить Trusted_Connection и использовать имя пользователя и пароль – Steve