SQL Server - Windows Service C# 数据库连接问题
本文关键字:数据库连接 问题 Service Windows Server SQL | 更新日期: 2023-09-27 17:56:54
我尝试用C#制作一个Windows服务,根据从指定的SQL服务器数据库读取的数据每天自动发送电子邮件。
我设法使服务运行,自动发送电子邮件,但是当我尝试插入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("daniel.voila@email.com");
mailMessage.From = new MailAddress("example@example.com");
mailMessage.Subject = "example";
mailMessage.Body = "example";
SmtpClient smtpClient = new SmtpClient("10.214.81.97");
smtpClient.Send(mailMessage);
}
您正在将数据从 SQL 读取到变量行中,但之后您不对它执行任何操作。我的猜测是,实际上没有错。您如何确定某些内容不起作用?
你的ConnectionString
是错误的。试试这个:(只需替换您的配置)
server={YourSqlInstanceFullName};database={YourDatabaseName};Integrated Security=false;User ID={Database Username};Password={Password}