powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с Windows Service
25 сообщений из 29, страница 1 из 2
Проблемы с Windows Service
    #35256415
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста....
Был рабочий сервис, который выполнял рассылку и БД (SQL Server 2000) хранилась на локальной машине, потом возникла необходимость перенести БД (SQL Server 2000) на сервер БД и сервис перестал работать (строку соединения изменила)... то есть он запускается, ошибок не выдает, но при этом просто ничего не делает, если бы он выполнял рассылку тогда бы это записывалось файл, а так ни каких сообщений об ошибках (сообщения об ошибках записываются в файл) и ни каких действий... права доступа к БД есть...
Надеюсь на Вашу помощь...
Спасибо!!!
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35256534
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linelправа доступа к БД есть...
Как проверяли?
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35256590
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто когда их не было, в файл записывалась ошибка... после чего я дала права и все стала на свое место...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35256667
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через что шлём сообщения?
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35256674
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще... если есть исходный код, проще в него посмотреть...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35256682
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте версию фреймворка на сервере... может она старая...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35256693
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserИ вообще... если есть исходный код, проще в него посмотреть...
Исходный код есть... всем форумом писали....
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35256817
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129 buserИ вообще... если есть исходный код, проще в него посмотреть...
Исходный код есть... всем форумом писали....
Не надо издеваться, я его переписала...
Вот код...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
...
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            try
            {
                    Options paramOpt = new Options();
                    //OptionsSerializer.CreateSettings(paramOpt);
                    OptionsSerializer.LoadSettings(ref paramOpt);
                    
               
                if ((DateTime.Today.DayOfWeek.ToString() != "Saturday") ||(DateTime.Today.DayOfWeek.ToString() != "Sunday")
                    && (DateTime.Now.Hour==paramOpt.HourTime)) 
                    
                {
                    //<summary>
                    // Создание соединения БД
                    //</summary>
                    //string connectionString =
                    //    "Data Source=UMN-ASUP-RVV;Initial Catalog=Corporation;Integrated Security=True";

                    //corporationConnectionString
                    string corporationcConnectionString =
                          "Data Source=YANUS-A;Initial Catalog=corporation;Integrated Security=True";

                    SqlConnection conn = new SqlConnection(corporationcConnectionString);
                    try
                    {
                        conn.Open();
                    }
                    catch (SqlException ex)
                    {
                        this.file.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss\t") + ex);
                        this.file.Flush();
                        return;
                    }


                    //<summary>
                    // Создание и заполнение DataSet и DataTable из таблицы Personal
                    //</summary>
                    string SelectString = "Select id, fio, birthdate, email FROM personal";
                    SqlCommand SelectPersonal = conn.CreateCommand();
                    SelectPersonal.CommandText = SelectString;
                    SqlDataAdapter PersonalSqlDataAdapter = new SqlDataAdapter();
                    PersonalSqlDataAdapter.SelectCommand = SelectPersonal;
                    DataSet CorporationDataSet = new DataSet();
                    string dataTableName = "Personal";
                    PersonalSqlDataAdapter.Fill(CorporationDataSet, dataTableName);


                    //<summary>
                    // Создание и заполнение DataSet и DataTable из таблицы Sending
                    //</summary>
                    string SendingString = "Select * FROM Sending";
                    SqlCommand SelectSending = conn.CreateCommand();
                    SelectSending.CommandText = SendingString;
                    SqlDataAdapter SendingSqlDataAdapter = new SqlDataAdapter();
                    SendingSqlDataAdapter.SelectCommand = SelectSending;
                    string TableName = "Sending";
                    SendingSqlDataAdapter.Fill(CorporationDataSet, TableName);


                    conn.Close();


                    DataRow[] rowPersonal = CorporationDataSet.Tables[dataTableName].Select();
                    DataRow[] rowSending = CorporationDataSet.Tables[TableName].Select();

                    int n = 0;
                    StringBuilder myTelo = new StringBuilder();
                    foreach (DataRow rowtelo in rowPersonal)
                    {
                        if (rowtelo["birthdate"] != DBNull.Value)
                        {
                            if (HasBirthdayAnniversary(Convert.ToDateTime(rowtelo["birthdate"]), paramOpt.Opt))
                            {
                                object myTeloObj = rowtelo["birthdate"];
                                if (myTeloObj != DBNull.Value)
                                {
                                    myTelo.Append(
                                   String.Format("{0}\t{1}\r\n",
                                                 Convert.ToDateTime(rowtelo["birthdate"]).ToShortDateString(),
                                                 rowtelo["fio"].ToString().Trim()));


                                    n = n + 1;
                                }
                            }
                        }
                    }
                    
                    if (n == 0)
                    {
                        myTelo.Append("Именинников нет!!!");
                    }


                    foreach (DataRow rp in rowPersonal)
                    {
                        foreach (DataRow rs in rowSending)
                        {
                            if (Equals(rp["id"], rs["Personal_id"]))
                            {
                                MailMessage mail = new MailMessage();
                                MailAddress mAddress = new MailAddress("service@ppdmn.com");
                                mail.From = mAddress;
                                mail.To.Add(rp["email"].ToString());
                                mail.Subject = "Поздравляем с днем рождения!!!";
                                mail.BodyEncoding = System.Text.Encoding.UTF8;
                                mail.Body = myTelo + "\n";
                                SmtpClient client = new SmtpClient("main");
                                client.Send(mail);
                                file.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss\t") + "Send to: " +
                                               rp["email"].ToString());
                                file.Flush();

                            }
                        }
                    }
                }
            }
            catch
               (Exception exc)
            {
                this.file.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss\t") + exc);
                this.file.Flush();
                return;
            }
        }
}
...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35256910
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ох... а от имени какой учетной записи стартует ваш сервис... ???? !!!!
Или ваш почтовик используется для рассылки спама? :)
//SmtpClient.Credentials ?
//Integrated Security=True ?
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35256982
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserОх... а от имени какой учетной записи стартует ваш сервис... ???? !!!!
Или ваш почтовик используется для рассылки спама? :)
//SmtpClient.Credentials ?
//Integrated Security=True ?
мой сервис стартует от моей учетной записи, а не от "Локальная система"
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35257122
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо... а
file.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss\t") + "Send to: " + rp["email"].ToString());
В файл пишется?
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35257151
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если да, то отлуп Вы получаете от почтовика... по причинам разным... левый отправитель, левый получатель, требуется аутентификация...
автор
Some SMTP servers require that the client be authenticated before the server will send e-mail on its behalf. To use your default network credentials, you can set the UseDefaultCredentials to true instead of setting this property. If the UseDefaultCredentials property is set to false, then the value set in the Credentials property will be used for the credentials when connecting to the server. If the UseDefaultCredentials property is set to false and the Credentials property has not been set, then mail is sent to the server anonymously .

Credentials information can also be specified using the application and machine configuration files. For more information, see <mailSettings> Element (Network Settings). If information is specified using the Credentials property, this information overrides the configuration file settings.


Код: plaintext
1.
2.
3.
4.
5.
6.
			// Credentials are necessary if the server requires the client 
			// to authenticate before it will send e-mail on the client's behalf.
			client.Credentials = CredentialCache.DefaultNetworkCredentials;

			client.Send(message);

...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35257577
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы посмотрел в первую очередь, корректно ли это условие на новом месте:
if ((DateTime.Today.DayOfWeek.ToString() != "Saturday") ||(DateTime.Today.DayOfWeek.ToString() != "Sunday")&& (DateTime.Now.Hour==paramOpt.HourTime))
Проверьте, выполняется ли это условие
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35257797
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_Lamerя бы посмотрел в первую очередь, корректно ли это условие на новом месте:
if ((DateTime.Today.DayOfWeek.ToString() != "Saturday") ||(DateTime.Today.DayOfWeek.ToString() != "Sunday")&& (DateTime.Now.Hour==paramOpt.HourTime))
Проверьте, выполняется ли это условие
сервис остался на локальной машине только БД перешла на другой сервер... условие выполняется и все работает если БД тоже на локальной машине...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35257801
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserХорошо... а
file.WriteLine(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss\t") + "Send to: " + rp["email"].ToString());
В файл пишется?
вот в этом и вопрос, что в файл ничего не пишется кроме как "сервис стартовал" и "сервис остановлен"
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35257940
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовала закинуть все что выполняет сервис в обычное windows-приложение под кнопку и все равно не работает... как только меняю строку подключения на локальную машину все работает и условие о котором спрашивалось выше тоже...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35258238
SerP1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LinelПопробовала закинуть все что выполняет сервис в обычное windows-приложение под кнопку и все равно не работает... как только меняю строку подключения на локальную машину все работает и условие о котором спрашивалось выше тоже...
А проверить дебагом???
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35258486
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SerP1983 LinelПопробовала закинуть все что выполняет сервис в обычное windows-приложение под кнопку и все равно не работает... как только меняю строку подключения на локальную машину все работает и условие о котором спрашивалось выше тоже...
А проверить дебагом???
У меня и так выбран Debug а не Release...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35258780
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит вся проблема в строке подключения. Ваш сервис не получает достаточных прав для доступа к нужной базе.
"Data Source=YANUS-A;Initial Catalog=corporation;Integrated Security=True";
Советую переделать строку - добавить юзера и пароль, и чтобы это юзер был хозяином базы данных.
Как говорится, обратитесь к системному администратору.

Море излечило меня от Джихада...(с)
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35258888
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129Значит вся проблема в строке подключения. Ваш сервис не получает достаточных прав для доступа к нужной базе.
"Data Source=YANUS-A;Initial Catalog=corporation;Integrated Security=True";
Советую переделать строку - добавить юзера и пароль, и чтобы это юзер был хозяином базы данных.
Как говорится, обратитесь к системному администратору.

Море излечило меня от Джихада...(с)
я имею права создавать таблицы, редактировать для этой БД, но нет прав для создания БД на этом сервере...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35258942
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, еще одну вещь вспомнил - как у Вас зарегистрирован сервис? как LocalService, NetworkService, LocalSystem или User?
это тоже имеет значение в этом случае.
(свойства - ServiceProcessInstaller->Account)
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35258953
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129А, еще одну вещь вспомнил - как у Вас зарегистрирован сервис? как LocalService, NetworkService, LocalSystem или User?
это тоже имеет значение в этом случае.
(свойства - ServiceProcessInstaller->Account)
у меня сервис запускается от моего имени, а не от Локальной системы...
Но дело даже в том что даже из под обычного windows-приложения, при нажатие кнопки, не выполняется рассылка когда БД на сервере...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35258964
Andaim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linel
у меня сервис запускается от моего имени, а не от Локальной системы...
Но дело даже в том что даже из под обычного windows-приложения, при нажатие кнопки, не выполняется рассылка когда БД на сервере...
ну так пройдите дебагером повсей программе, посмотрите где валится
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35260928
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ... а может быть такое, что на локальной машине я администратор sql sever, а на сервере БД нет, вот и каша с правами получается...
...
Рейтинг: 0 / 0
Проблемы с Windows Service
    #35262768
Linel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сервис заработал...
Дело было в правах и в заполнение таблицы...
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с Windows Service
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]