LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Размещение: BlogsОбучающие статьиСтатьи по Dotnetnuke    
Поместил: Admin1 16.06.2007 13:22

Выпуск 80. Импорт данных в Dotnetnuke

Подписка:  "Microsoft Access - программирование и готовые решения"
Дата:           16.07.2007
Автор:         Админ Leadersoft.ru
Сайт:           http://help.leadersoft.ru/
Категория: Создание adp проектов


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


О Dotnetnuke
    Технология www.Dotnetnuke.com - это быстрая разработка сайтов, с использованием простых инструментов редактирования. Вам не надо знать программирование для того, чтобы создать профессиональный сайт с великолепным дизайном. Пока не будем говорить в этой рассылке о ее преимуществах, но они, конечно, значительны

Введение в тему  
        Сама база данных сайта Dotnetnuke написана на Microsoft SQL Server и хорошо интегрируется с Microsoft Access. Это и будет показано в этом примере. Суть работы. Имеется много однотипных файлов из конференции на perl в формате htm, которые хорошо читаются браузерами, но из-за большого количества сообщений более 7500 штук, конференция медленно работает. Потребовалось перенести ее в другую базу данных. Этот пример показывает, как можно быстро выполнить импорт данных в Dotnetnuke за несколько минут.
       В качестве вариантов рассматривалась конференция на MySQL (phpBB), но из-за слабой защиты от спама, да и не возможности прямого доступа из Access этот вариант отпал. Лучший выбор пока dotnetnulke, т.к. к конференции прилагается еще и много бесплатных модулей: http://client.leadersoft.ru/Технологии/Разработкасайтов/tabid/76/Default.aspx

Алгоритм решения
Предварительная работа
1. Необходимо определить структуру для сохранения прочитанных сообщений (Автор, Дата, Тема, Сообщение и т.п.)
2. Найти теги, которые будут определять сообщения. Например, . Тема: Импорт данных Тег font определяет внутри htm тему, которую мы потом сохраним в нашей структуре.
3. Найти процедуру в конференции (или создать ее самому), которая будет сохранять в базе данных сообщения. Запустив ее и передав параметры сообщений, мы тем самым сможем быстро заполнить базу данных информацией из файлов htm
4. Найти код на VBA, который в цикле читает все файлы из папки. Это нужно, если файлов много и не надо их вводить по одному в программу для разбора.
5. Найти программы, которые читают содержимое и переименовывают файлы операционной системы. Это пригодится нам, для чтения файла в буфер для анализа. Это лучше, когда весь файл читается, а не анализируется построчно.  После разбора файла его нужно переименовать, чтобы не использовать повторно, т.к. возможны сбои при чтении нескольких  файлов. Например, формат другой, пустые файлы и т.п. И нам придется запускать программу повторно.
Основная работа
 
Далее мы переходим к программированию и создаем управляющую форму и VBA код. Он указан ниже. Его можно, конечно, настроить и на   другой тип htm файлов.
Заключение
  Проще будет, если Вы скачаете пример по этой ссылке: http://help.leadersoft.ru/Загрузка/tabid/75/Default.aspx Раздел dotnetnuke или Конвертеры
  Если остались вопросы их можно задать в блоге: http://help.leadersoft.ru/tabid/126/EntryID/15/Default.aspx
P.S.
Для загрузки примеров нужна регистрация на сайте: http://help.leadersoft.ru

Код на VBA
' Все объекты объявления в форуме
Public Type tpAdds
User As String ' Имя пользователя
Email As String ' Имя почты
AddDate As Date ' Дата записи
Subject As String ' Тело
Body As String ' Текст
Section As String ' Секция
End Type

Public adds() As tpAdds ' Объявления на одну тему
Public tags(10) As String ' Список тегов
Public fso ' Объект файловой системы
Public frmMain As Form ' Форма для вывода данных

' Читаем все файлы html
Public Function funReadHtml(frm As Form, MaxAdds As Long) ' Максимальное число объявлений, 0 - все загружаем
Dim fname As String, html, buf, i As Long
Dim cnn As ADODB.Connection

' Инициализация тегов для html файла
Set frmMain = frm

' Поиск имени
tags(0) = "size=""2"">"
tags(1) = "
"

' Поиск Email
tags(2) = "mailto:"
tags(3) = """"

' Поиск даты и времени
tags(4) = "alt=""Email"">

"
tags(5) = "
"

' Поиск темы
tags(6) = ""
tags(7) = "
"

' Поиск сообщения
tags(8) = "Сообщение:
"
tags(9) = "

Permalink |  Trackback

Комментарии (1)  
Выпуск 80. Импорт данных в Dotnetnuke    Поместил TrackBack 16.06.2007 13:28
  Сама база данных сайта Dotnetnuke написана на Microsoft SQL Server и хорошо интегрируется с Microsoft Access. Это и будет показано в этом примере. Суть работы. Имеется много однотипных файлов и ...
# Обучающие статьи

Вы должны быть зарегистрированы и иметь разрешение создавать или редактировать блог.
right