powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Не работает запрос к табличке sql compact
20 сообщений из 20, страница 1 из 1
Не работает запрос к табличке sql compact
    #38203889
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VS 2012, FW 3.5
Добавил в проект базу sql compact (BanHammer.sdf), в нее табличку (BanList: IP varchar(15) pk, Expires datetime), натянул на нее entity data model, напейсал проц и дурку:

Код: vbnet
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.
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        If DateDiff(DateInterval.Second, mLastTick, Now) >= TICK_PERIOD Then
            Try
                ListBox1.Items.Clear()
                Using db As New BanHammer
                    Dim bl As BanList, IPs As New List(Of String), log As EventLog = New EventLog("Security")
                    For Each le As Object In (From v In log.Entries).ToList
                        ' Where v.TimeGenerated > DateAdd(DateInterval.Minute, -WOODPECKING_MINUTES, Now) 
                        ' And v.EntryType = EventLogEntryType.FailureAudit).ToList

                        Dim m As Match = Regex.Match(le.Message, "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}")
                        If m.Success Then IPs.Add(m.Groups(0).Value)
                    Next
                    For Each obj As Object In (From ip In IPs Group By ip Into Qty = Count() Select ip, Qty Where Qty >= WOODPECKER_FACTOR).ToList
                        Dim ip As String = obj.ip
                        Dim qty As Integer = (From v In db.BanList Where v.IP = ip).Count

                        ListBox1.Items.Add(ip & " " & qty)
                        If qty = 0 Then
                            bl = New BanList
                            bl.IP = obj.IP
                            bl.Expires = DateAdd(DateInterval.Day, BAN_DAYS, Now)
                            db.Attach(bl)
                        End If
                    Next
                    For Each bl In (From v In db.BanList Where v.Expires < Now).ToList()
                        db.DeleteObject(bl)
                    Next
                    db.SaveChanges()
                End Using
            Catch ex As Exception
                Dim log As EventLog = New EventLog("Application")
                log.WriteEntry("BanHammer error: " & ex.Message, EventLogEntryType.Error)
            End Try
            mLastTick = Now
        End If
    End Sub

Таймер срабатывает, исполнение доходит до указанной строки и вылетает неизвестно куда без ошибки и каких-либо сообщений.
Таймер срабатывает второй раз, ситуация повторяется.
Больше таймер не срабатывает, форма висит, единственный вариант действий — остановка.

В чем проблема?
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38203965
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот сам проект.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38220538
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Открыл проект в VS12

Код: vbnet
1.
2.
3.
4.
5.
 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Using db As New BanHammer
            Dim all = db.BanList.ToList()
        End Using
    End Sub



...Указанная схема недопустима. Ошибки:
BanHammer.ssdl(2,98) : ошибка 0004: Could not load System.Data.SqlServerCe.Entity.dll. Reinstall SQL Server Compact.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38220561
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После того, как

1. Сделал апдейт
https://nuget.org/packages/EntityFramework.SqlServerCompact/4.3.4 PM> Install-Package EntityFramework.SqlServerCompact -Version 4.3.4
2. Грохнул таблицу в контексте и пересоздал заново
3. Сменил FW на 4.5

Всё заработало.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38220605
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ...Указанная схема недопустима. Ошибки:
BanHammer.ssdl(2,98) : ошибка 0004: Could not load System.Data.SqlServerCe.Entity.dll. Reinstall SQL Server Compact.Что это за файл? У себя такого не нашел. Не нашел вообще ничего похожего даже поиском по всему содержимому файлов проекта.

МСУ1. Сделал апдейтПопробую.
МСУ3. Сменил FW на 4.5Фишка была сделать на 3.5. Собирался ставить банхаммер на несколько серверов, на которых 4.5 отродясь не было, и накатывать его только ради этого не хочется.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38220632
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЧто это за файл? У себя такого не нашел. Не нашел вообще ничего похожего даже поиском по всему содержимому файлов проекта.
Ну ты даешь, это ядро компакта. Его нужно обновить.

AntonariyФишка была сделать на 3.5.
Не понимаю сути "фишки".

AntonariyСобирался ставить банхаммер на несколько серверов, на которых 4.5 отродясь не было, и накатывать его только ради этого не хочется.
4.5 не обязателен. Ты хоть документацию иногда читай: http://www.microsoft.com/ru-ru/download/details.aspx?id=17876
Компьютер для разработки.NET Framework 3.5 с пакетом обновления 1 (SP1) или .NET Framework 4 для разработки управляемых приложений.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38220771
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНу ты даешь, это ядро компакта. Его нужно обновить.До сих пор не работал с компактом. А ошибка как проявилась? Я нигде ее текст не видел.
МСУ4.5 не обязателен. Ты хоть документацию иногда читай:Я знаю, что компакту он не обязателен, а программулине? В FW 3.5 даже EF отличается от 4.5. Разве программа, заточенная под 4.5, запустится на 3.5?

авторПопробуюПопробовал.
PM> Install-Package EntityFramework.SqlServerCompact -Version 4.3.4

Идет попытка разрешить зависимость "SqlServerCompact (≥ 4.0)".
Идет попытка разрешить зависимость "Microsoft.SqlServer.Compact (≥ 4.0.8854.1)".
Идет попытка разрешить зависимость "EntityFramework (≥ 4.3)".
Вы загружаете Microsoft.SqlServer.Compact из Microsoft, лицензионное соглашение доступно по адресу http://www.microsoft.com/web/webpi/eula/SQLCE_SP1_EULA_ENU.rtf. Проверьте пакет на наличие дополнительных зависимостей, для которых может потребоваться собственная лицензия. Ваше использование пакета и зависимостей подтверждает ваше согласие с условиями соответствующих лицензий. Если вы не согласны с условиями лицензии, удалите соответствующие компоненты со своего устройства.
"Microsoft.SqlServer.Compact 4.0.8876.1" успешно установлен.
"SqlServerCompact 4.0.8854.1" успешно установлен.
Вы загружаете EntityFramework.SqlServerCompact из Microsoft, лицензионное соглашение доступно по адресу http://go.microsoft.com/fwlink/?LinkId=243111. Проверьте пакет на наличие дополнительных зависимостей, для которых может потребоваться собственная лицензия. Ваше использование пакета и зависимостей подтверждает ваше согласие с условиями соответствующих лицензий. Если вы не согласны с условиями лицензии, удалите соответствующие компоненты со своего устройства.
"EntityFramework.SqlServerCompact 4.3.4" успешно установлен.
"Microsoft.SqlServer.Compact 4.0.8876.1" успешно добавлена в BHTest.
Некоторые из импортированных имен команд содержат неутвержденные глаголы, что может усложнить их поиск. Используйте параметр Verbose, чтобы получить дополнительные сведения, или введите Get-Verb, чтобы просмотреть список утвержденных глаголов.
d:\Users\Антон.MICROSOFT-PC\Desktop\BanHammer\BHTest\BHTest.sln d:\Users\Антон.MICROSOFT-PC\Desktop\BanHammer\BHTest\packages\Microsoft.SqlServer.Compact.4.0.8876.1
"SqlServerCompact 4.0.8854.1" успешно добавлена в BHTest.
"EntityFramework.SqlServerCompact 4.3.4" успешно добавлена в BHTest.
Исключение при вызове "Invoke" с "2" аргументами: "Невозможно загрузить файл или сборку "file:///d:\Users\Антон.MICROSOFT-PC\Desktop\BanHammer\BHTest\packages\EntityFramework.SqlServerCompact.4.3.4\tools\EntityFramework.PowerShell.dll" или один из зависимых от ни
х компонентов. Невозможно проверить подпись строгого имени. Возможно, сборка была изменена или построена с отложенной подписью, но не полностью подписана правильным закрытым ключом. (Исключение из HRESULT: 0x80131045)"
D:\Users\Антон.MICROSOFT-PC\Desktop\BanHammer\BHTest\packages\EntityFramework.SqlServerCompact.4.3.4\tools\install.ps1:29 знак:57
+ [SqlCompactConnectionFactoryConfiguratorInvoker]::Invoke <<<< ((Join-Path $toolsPath "EntityFramework.PowerShell.dll"), $project)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

Все осталось по-старому :(

Какой еще локальный источник данных можно накликать так же быстро как sql compact? Ничего кроме таблички ip-дата в нем не будет.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38220806
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДо сих пор не работал с компактом. А ошибка как проявилась? Я нигде ее текст не видел.
Ты не внимателен. VS12.

AntonariyЯ знаю, что компакту он не обязателен, а программулине? В FW 3.5 даже EF отличается от 4.5. Разве программа, заточенная под 4.5, запустится на 3.5?
Ставь 4 или 4.5 и не ипи мозг.

AntonariyВсе осталось по-старому :(
Какой еще локальный источник данных можно накликать так же быстро как sql compact? Ничего кроме таблички ip-дата в нем не будет.
Разбирайся. У меня на VS12 всё работает.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38220870
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТы не внимателен. VS12.Куда смотреть и в какой момент? Во время исполнения в окно вывода ничего не падало, во время генерации модели вроде тоже. VS тоже 12.
МСУСтавь 4 или 4.5 и не ипи мозг.Исключено.
МСУРазбирайся. У меня на VS12 всё работает.Не буду. Я ставил себе задачу написать сервис максимально быстро и с ограничением по фреймворку, поэтому выбор пал на ef+compact. Сам по себе компакт мне не вперся, его капризы мне не интересны, и раз он не взлетел без очевидной и быстро устранимой причины (в рамках заданных условий, смена FW не канает), значит отправляется фтопку дожидаться проекта на 4.5. А табличку на аксессе в крайнем случае набросаю.

Спасибо за помощь, вопросов не осталось.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38221275
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyКуда смотреть и в какой момент? Во время исполнения в окно вывода ничего не падало, во время генерации модели вроде тоже. VS тоже 12.
Ошибка начала проявлять себя после апдейта компакта, но при FW 3.5

AntonariyМСУСтавь 4 или 4.5 и не ипи мозг.Исключено.
Причину боязни данных фреймворков можешь огласить?

AntonariyЯ ставил себе задачу написать сервис максимально быстро и с ограничением по фреймворку
См. вопрос выше. Не вижу проблем обновиться и использовать на полную катушку замечательный 4-ый компакт.

AntonariyА табличку на аксессе в крайнем случае набросаю.
Давай уж на DBF, чего мелочиться.

AntonariyСпасибо за помощь, вопросов не осталось.
Ок, всегда рад помочь.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38221351
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПричину боязни данных фреймворков можешь огласить?
Не вижу проблем обновиться и использовать на полную катушку замечательный 4-ый компакт.Нет проблем. Нет боязни. Нет желания ставить фреймворк. Более того, лишь ради решения этой крохотной задачи я не стану его ставить принципиально. Этот код может работать на 3.5, и он будет это делать. Таково мое желание. Это данность и она не нуждается в причинах. Не принципиален тут как раз компакт с его аллергией на EF 3.5, мне нужна всего одна табличка всего с двумя полями, и мне по барабану как и где она хранится. Я просто хотел не лезть за ней за пределы студии, и потому выбрал компакт как самый очевидный и скоростной в реализации вариант.

МСУДавай уж на DBF, чего мелочиться.Если есть менее очевидный, но такой же простой способ создать и подключить к EF альтернативный источник данных, я с удовольствием не буду ставить аксесс.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38221428
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, так вообще за чем ради микротулы было использовать EF?
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38221483
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyНет желания ставить фреймворк.
Ну какой-то странный аргумент, не находишь? Значит, новомодный Microsoft SQL Server Compact 4.0 хочется юзать, а нет желания ставить фреймворк.

AntonariyЭтот код может работать на 3.5, и он будет это делать. Таково мое желание. Это данность и она не нуждается в причинах.
Наижесточайшие аргументы, что тут сказать.

AntonariyЕсли есть менее очевидный, но такой же простой способ создать и подключить к EF альтернативный источник данных, я с удовольствием не буду ставить аксесс.
Акцесс в качестве embedded database - унылое зло. Возьми, хотя бы это:

http://www.microsoft.com/ru-ru/download/details.aspx?id=5783 Компьютер разработки
• 2–3 МБ свободного места на жестком диске. Также необходимо 2–3 МБ для временных файлов установки.
• Visual Studio 2010 и Visual Studio 2008 с пакетом обновления 1 (SP1) для поддержки конструктора Visual Studio для разработки приложений для настольных компьютеров Windows. Для разработки приложений для мобильных устройств Windows используйте Visual Studio 2008 с пакетом обновления 1 (SP1).
• Visual Studio 2005 с пакетом обновления 1 (SP1) поддерживается для сценариев работы с кодом для настольных компьютеров и мобильных устройств Windows.
• .NET Framework 2.0, 3.0, 3.5 или 4 для разработки управляемых приложений.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38221534
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buserAntonariy, так вообще за чем ради микротулы было использовать EF?Из-за скорости и прозрачности разработки. У датасетов шизанутая объектная модель, к которой еще привыкать надо. А от ADODB отвыкать уже пора. Как раз с помощью таких микропроектов отвыкать и лучше всего.

МСУНу какой-то странный аргумент, не находишь? Значит, новомодный Microsoft SQL Server Compact 4.0 хочется юзать, а нет желания ставить фреймворк.Я нахожу, что ты скоропалителен в выводах. См. скриншот. Кстати говоря, даже в проектах на FW 4.5 предлагается создать компакт-базу версии именно 3.5, хотя четвертый компакт тоже установлен.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38221567
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, выбрось русскую студию, 100 раз уже перетирали - это потенциальное зло.

P.S. Глянь рецептик , должен навести на мысли.
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38221582
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariybuserAntonariy, так вообще за чем ради микротулы было использовать EF?Из-за скорости и прозрачности разработки. У датасетов шизанутая объектная модель, к которой еще привыкать надо. А от ADODB отвыкать уже пора. Как раз с помощью таких микропроектов отвыкать и лучше всего.
+1, умные вещи пишешь
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38221701
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariy, выбрось русскую студию, 100 раз уже перетирали - это потенциальное зло.

P.S. Глянь рецептик , должен навести на мысли.Копипаст не вылечил, глубоко копать нет времени. У меня есть комп без студии, дам на досуге связке из компакта и ef 3.5 последний шанс в английской инкарнации :)
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38221715
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyдам на досуге связке из компакта и ef 3.5 последний шанс в английской инкарнации :)
Вот с тобой сложно, а. Приходится убеждать, уговаривать, умолять даже...
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38222553
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не топик, а анекдот

Antonariy, попробуй свою ошибку на другой машине проверить, а еще лучше на чистоустановленной!
...
Рейтинг: 0 / 0
Не работает запрос к табличке sql compact
    #38235587
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyУ меня есть комп без студии, дам на досуге связке из компакта и ef 3.5 последний шанс в английской инкарнации :)Шанс был дан, проект не заработал.
AntonariyА табличку на аксессе в крайнем случае набросаю.Акс не канает, EF из коробки поддерживает только MSSQL и компакт, а под акс лишь какие-то самодельные провайдеры, не заслуживающие доверия.

Придется проект на ADODB переводить.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Не работает запрос к табличке sql compact
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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