Windows服务C#数据库连接问题

时间:2016-07-13 07:18:15

标签: c# sql-server database windows-services

我尝试在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);
    }

2 个答案:

答案 0 :(得分:1)

您正在将数据从SQL读入变量行,但之后您无法对其执行任何操作。我的猜测是,实际上没有错。你是如何确定某些东西不起作用的?

答案 1 :(得分:0)

您的ConnectionString错了。试试这个:(只需更换你的配置)

server={YourSqlInstanceFullName};database={YourDatabaseName};Integrated Security=false;User ID={Database Username};Password={Password}