Здравствуйте, rameel, Вы писали:
0rc>>Супер. Это по теме. Теперь вопрос. Кто-нибудь делал сравнительную характеристику, насколько быстрее медленее будет работать RSDN@Home с SQLLite по сравнению с MSSQL 2000? R>ИМХО, сравнивать еще не с чем. По моему еще не все запросы отлажены до конца. Вот когда дойдет до рабочего состояния, тогда может попробую импортнуть данные в базу и сравнить характеристики.
Ну уже более менее работает и залито в SVN (731 ревизия) — можно проверять.
Огромное спасибо!
Вроде бы очень шустро работает, хотя размер базы пока мелкий.
Замечание (пробовал в ревизии 733):
Не получается скачать отдельную ветку. К примеру, выбираю Действие > Скачать тему..., указываю ID этой темы 2634329 — и получаю:
BLToolkit.Data.DataException: Abort due to constraint violation
download_topics.id may not be NULL ---> System.Data.SQLite.SQLiteException: Abort due to constraint violation
download_topics.id may not be NULL
в System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
в System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
в BLToolkit.Data.DbManager.ExecuteNonQuery()
в Rsdn.Janus.JanusDB.Execute(String sql, Object[] parameters)
в Rsdn.Janus.JanusDB.ExecuteNonQuery(String sql, Object[] parameters)
в Rsdn.Janus.DatabaseManager.InsertDownloadTopic(String source, Int32 messageId, String hint)
в Rsdn.Janus.DownloadTopicCollection.Add(String source, Int32 messageId, String hint)
в Rsdn.Janus.ForumDummyForm.AddTopicForDownload(Int32 messageID)
в Rsdn.Janus.ForumDummyForm.DownloadTopic()
в Rsdn.Janus.Framework.StripEventDispatcher.DispatchEvent(String eventId)
в Rsdn.Janus.Framework.StripEventDispatcher.ClickHandler(Object sender, EventArgs e)
в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
в System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ToolStrip.WndProc(Message& m)
в System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Здравствуйте, rsn81, Вы писали:
R>Огромное спасибо! R>Вроде бы очень шустро работает, хотя размер базы пока мелкий.
R>Замечание (пробовал в ревизии 733): R>Не получается скачать отдельную ветку. К примеру, выбираю Действие > Скачать тему..., указываю ID этой темы 2634329 — и получаю:[q]BLToolkit.Data.DataException: Abort due to constraint violation R>download_topics.id may not be NULL ---> System.Data.SQLite.SQLiteException: Abort due to constraint violation R>download_topics.id may not be NULL
Понятно, такое уже видел. Вечером буду дома поправлю.
Здравствуйте, Дьяченко Александр, Вы писали:
ДА>Понятно, такое уже видел. Вечером буду дома поправлю.
Быть может вы также найдете время и вот эти мелочи исправить? Заранее благодарен.
В таблице "Статистика сообщений пользователя" в столбце Форум не отображается собственно название форума. Не знаю, связано ли это именно с SQLite... но вроде бы с FB было нормально.
После шальной попытки упаковать БД (командой меню Файл) в собственном профиле в пункте "Первое сообщение" теперь отображается сообщение "Не удается запустить приложение. Системная база данных отсут" следующего содержания:
Ошибка:
Не удается запустить приложение. Системная база данных отсутствует или открыта с монопольным доступом другим пользователем.
Описание:
Версия приложения:
RSDN@Home версия 1.2.0 alpha ревизия 676
Трассировка стека:
в JRO.JetEngineClass.CompactDatabase(String SourceConnection, String Destconnection)
в Rsdn.Janus.DatabaseManager.PackDatabase()
в Rsdn.Janus.MainForm.PackDatabase()
в Rsdn.Janus.Framework.StripEventDispatcher.DispatchEvent(String eventId)
в Rsdn.Janus.Framework.StripEventDispatcher.ClickHandler(Object sender, EventArgs e)
в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
в System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ToolStrip.WndProc(Message& m)
в System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Вместо отображения администрации форума получаем:
BLToolkit.Data.DataException: SQLite error
no such column: users.userclass ---> System.Data.SQLite.SQLiteException: SQLite error
no such column: users.userclass
в System.Data.SQLite.SQLite3.Prepare(String strSql, SQLiteStatement previous, String& strRemain)
в System.Data.SQLite.SQLiteCommand.BuildNextCommand()
в System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
в System.Data.SQLite.SQLiteDataReader.NextResult()
в System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
в System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
в System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
в BLToolkit.Data.DbManager.ExecuteReaderInternal(CommandBehavior commandBehavior)
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteReaderInternal(CommandBehavior commandBehavior)
в BLToolkit.Data.DbManager.ExecuteListInternal[T](IList`1 list, Object[] parameters)
в BLToolkit.Data.DbManager.ExecuteList[T]()
в Rsdn.Janus.JanusDB.ExecuteList[T](String sql, Object[] parameters)
в Rsdn.Janus.DatabaseManager.GetUsers(Boolean onlyTeam)
в Rsdn.Janus.HtmlPageBuilder.GetTeamList()
в Rsdn.Janus.JanusProtocolDispatcher.TeamListEventHandler(Object sender, JanusProtocolEventArgs e)
в Rsdn.Janus.JanusProtocolDispatcher.DispatchRequest(String path)
Вместо отображения статей форума получаем:
BLToolkit.Data.DataException: SQLite error
no such column: m.dte ---> System.Data.SQLite.SQLiteException: SQLite error
no such column: m.dte
в System.Data.SQLite.SQLite3.Prepare(String strSql, SQLiteStatement previous, String& strRemain)
в System.Data.SQLite.SQLiteCommand.BuildNextCommand()
в System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
в System.Data.SQLite.SQLiteDataReader.NextResult()
в System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
в System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
в System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
в BLToolkit.Data.DbManager.ExecuteReaderInternal(CommandBehavior commandBehavior)
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteReaderInternal(CommandBehavior commandBehavior)
в BLToolkit.Data.DbManager.ExecuteListInternal[T](IList`1 list, Object[] parameters)
в BLToolkit.Data.DbManager.ExecuteList[T]()
в Rsdn.Janus.JanusDB.ExecuteList[T](String sql, Object[] parameters)
в Rsdn.Janus.DatabaseManager.GetArticleList(Int32 gid)
в Rsdn.Janus.HtmlPageBuilder.GetArticleListText(Int32 gid)
в Rsdn.Janus.JanusProtocolDispatcher.ArticleEventHandler(Object sender, JanusProtocolEventArgs e)
в Rsdn.Janus.JanusProtocolDispatcher.DispatchRequest(String path)
Здравствуйте, rsn81, Вы писали:
ДА>>Понятно, такое уже видел. Вечером буду дома поправлю. R>Быть может вы также найдете время и вот эти мелочи исправить? Заранее благодарен.
тоже поправил)
R>В таблице "Статистика сообщений пользователя" в столбце Форум не отображается собственно название форума. Не знаю, связано ли это именно с SQLite... но вроде бы с FB было нормально.
Не знаю, но после того как я исправил, то что далее столбец форум заполнен, может наведенка?
R>После шальной попытки упаковать БД (командой меню Файл) в собственном профиле в пункте "Первое сообщение" теперь отображается сообщение "Не удается запустить приложение. Системная база данных отсут" следующего содержания:[q]Ошибка: R>Не удается запустить приложение. Системная база данных отсутствует или открыта с монопольным доступом другим пользователем.
BLToolkit.Data.DataException: Abort due to constraint violation
favorites.id may not be NULL ---> System.Data.SQLite.SQLiteException: Abort due to constraint violation
favorites.id may not be NULL
в System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
в System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
в System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
--- Конец трассировки внутреннего стека исключений ---
в BLToolkit.Data.DbManager.OnOperationException(OperationType op, Exception ex)
в BLToolkit.Data.DbManager.ExecuteNonQueryInternal()
в BLToolkit.Data.DbManager.ExecuteNonQuery()
в Rsdn.Janus.DatabaseManager.InsertFavoritesLink(FavoritesLink link)
в Rsdn.Janus.FavoritesManager.AddMessageLink(Int32 messageId, String comment, FavoritesFolder folder)
в Rsdn.Janus.ForumDummyForm.AddToFavorites()
в Rsdn.Janus.Framework.StripEventDispatcher.DispatchEvent(String eventId)
в Rsdn.Janus.Framework.StripEventDispatcher.ClickHandler(Object sender, EventArgs e)
в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
в System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ToolStrip.WndProc(Message& m)
в System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
R>>В таблице "Статистика сообщений пользователя" в столбце Форум не отображается собственно название форума. Не знаю, связано ли это именно с SQLite... но вроде бы с FB было нормально. ДА>Не знаю, но после того как я исправил, то что далее столбец форум заполнен, может наведенка?
Извеняюсь не туда посмотрел — это так и осталось. Причина в том что в некоторых случаях SQLite в запросе SELECT возвращает в названиях колонок вместе с квадратными скобками и соответственно BLToolkit при мапинге не находит нужных полей и в них остается пусто. Я конечно могу поправить запрос, но помоему надо что-то править на уровне BLToolkit-а, а иначе заманаешся запросы править.
R>>
Скачал и запустил янус в первый раз Создал базу с скллайт и получил ошибку
Rsdn.Janus.DBSchemaException: Ошибка на этапе реструктуризации базы:
Error when prepared SqlDiff
в Rsdn.Janus.DbsmManager.Restruct(IGenericServiceProvider serviceProvider)
в Rsdn.Janus.Janus.Main()
Здравствуйте, serb, Вы писали:
S>Скачал и запустил янус в первый раз Создал базу с скллайт и получил ошибку
S>Rsdn.Janus.DBSchemaException: Ошибка на этапе реструктуризации базы: S>Error when prepared SqlDiff
Это из-за того, что SQLite не поддерживает
ATER TABLEADD CONSTRAINT blablabla
Это очень плохо, но не смертельно. Конструкции типа
Здравствуйте, serb, Вы писали:
S>Скачал и запустил янус в первый раз Создал базу с скллайт и получил ошибку
S>Rsdn.Janus.DBSchemaException: Ошибка на этапе реструктуризации базы: S>Error when prepared SqlDiff S> в Rsdn.Janus.DbsmManager.Restruct(IGenericServiceProvider serviceProvider) S> в Rsdn.Janus.Janus.Main()
S>Ревизия 20070911-1207-r746
Гляну вроде раньше работало (я же базу с нуля создовал)
Здравствуйте, Дьяченко Александр, Вы писали:
ДА>Вобщем у меня базу создает (3 раза пробывал), выкладывай ошибку полностью может что будет ясно.
Я уже поправил. бага была такая: