Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как дебажить сервис и можно ли вообще??? Если можно, поподробнее пожалуйста. 
:(
    Опции темы
madFrame
Дата 14.5.2014, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 18.4.2014

Репутация: нет
Всего: нет



Народ, подскажите как же дебажить сервис???
PM MAIL   Вверх
Экскалупатор
Дата 14.5.2014, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



какой именно сервис?

ну и вообще, варианты:
1. тесты
2. клиент к сервису(если это сервис с внешним апи)
3. если это вин-сервис, то нет никаких проблем, обычно это просто консольное приложение.

нужно больше информации. какова цель, что именно дебажить, почему неполучается, что именно не получается?
PM MAIL ICQ   Вверх
madFrame
Дата 14.5.2014, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 18.4.2014

Репутация: нет
Всего: нет



вин-сервис.
весь функционал был реализован с GUI, потом перенесён в вин-сервис.
как дебажить я разобрался.

Нашёл ошибку, не стартует метод.( вкратце, он тянет поля с дбфника)

1.в вин-форм я читал dbf с помощью класса,  без проблем.
 
Код

class FileDBF
    {
        private OdbcConnection _connection = null;

        public DataTable Execute(string command)
        {
            DataTable dt = null;
            if (_connection != null)
            {
                try
                {
                    _connection.Open();
                    dt = new DataTable();
                    System.Data.Odbc.OdbcCommand oCmd = _connection.CreateCommand();
                    oCmd.CommandText = command;
                    dt.Load(oCmd.ExecuteReader());
                    _connection.Close();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }
            return dt;
        }
        public DataTable GetAll(string dbpath)
        {
            return Execute("SELECT * FROM " + dbpath);
        }
        public FileDBF()
        {
            this._connection = new System.Data.Odbc.OdbcConnection();
            _connection.ConnectionString = @"Driver={Microsoft dBase Driver (*.dbf)};" +
                "SourceType=DBF;Exclusive=No;" +
                "Collate=Machine;NULL=NO;DELETED=NO;" +
                "BACKGROUNDFETCH=NO;";
        }
    }


2. а вот на дебаге, вин-сервис плюёт "ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
Мот быть, что данный класс работает только с GUI?

С сервисом первый раз столкнулся, не пойму ещё что к чему.....
PM MAIL   Вверх
Экскалупатор
Дата 14.5.2014, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



ссылка


Цитата(madFrame @  14.5.2014,  11:58 Найти цитируемый пост)
Мот быть, что данный класс работает только с GUI?

нет никакой разницы, если не используется какая то специфическая функциональность(координаты экрана, к примеру). все остальное вопрос правильной организации и конфигурации.

PM MAIL ICQ   Вверх
madFrame
Дата 14.5.2014, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 18.4.2014

Репутация: нет
Всего: нет



никакой специфики нет....

проблемы со строкой подключения к драйверу я думаю тоже можно исключить, ведь из вин-формы всё стабильно работает.
даже не знаю, что именно копать....
PM MAIL   Вверх
Экскалупатор
Дата 14.5.2014, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



Цитата(madFrame @  14.5.2014,  12:24 Найти цитируемый пост)
проблемы со строкой подключения к драйверу я думаю тоже можно исключить, ведь из вин-формы всё стабильно работает.
даже не знаю, что именно копать.... 

обычно в строке подключения есть путь к файлу базы данных(есди это файловая БД). в вин-формах, возможно, использовался какой то встроенный адаптер, настроенный в редакторе, что в процессе переноса было благополучно выброшено, вот и не работает.

в студии есть вкладка "ServerExplorer" в которой можно настроить подключение к базе и оттуда взять строку подключения.
PM MAIL ICQ   Вверх
madFrame
Дата 14.5.2014, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 18.4.2014

Репутация: нет
Всего: нет



Цитата

в студии есть вкладка "ServerExplorer" в которой можно настроить подключение к базе и оттуда взять строку подключения. 


в сожалению не влияет на результат...

PM MAIL   Вверх
Экскалупатор
Дата 14.5.2014, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



результат строки подключения можно? в ней должен быть путь к файлу базы данных, если пути нету то работать не будет.

odbc Connection String
PM MAIL ICQ   Вверх
madFrame
Дата 14.5.2014, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 18.4.2014

Репутация: нет
Всего: нет



@"Driver={Driver do Microsoft dBase (*.dbf)};collatingsequence=ASCII;defaultdir=A:\Banks\BIK;deleted=0;driverid=533;fil=dBase 5.0;filedsn=A:\Banks\BIK\BNKSEEK.DBF.dsn;maxbuffersize=2048;maxscanrows=8;pagetimeout=5;safetransactions=0;statistics=0;threads=3;uid=admin;usercommitsync=Yes"



PM MAIL   Вверх
madFrame
Дата 14.5.2014, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 18.4.2014

Репутация: нет
Всего: нет



При дебаге, нашёл проблему..., в общем dBase драйвер тупо пользовательский.

1.есть возможность сделать dBase системным?
2.делать сервис не локальным,а из под пользователя, крайне не удобно.
PM MAIL   Вверх
jonie
Дата 15.5.2014, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



кстати дааавно писал такую штуку https://bitbucket.org/jonie/winsrvdebughelper
помогает в отладке сервисов (хотя сейчас мода пошла на TopShelf..)..
мб полезно будет.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.