У меня нет Knime, но я смог применить следующие шаги, чтобы LibreOffice Base открыл файл Access .mdb, который был защищен с помощью защиты на уровне пользователя (ULS).
Сначала я использовал инструкции здесь , чтобы выполнить обычную настройку UCanAccess и LibreOffice Base. Я подтвердил, что могу открыть файл базы данных Access, который не был не защищен ULS.
Затем я добавил следующие три (3) JAR-файла в папку UCanAccess lib\
:
jackcess-encrypt-2.1.4.jar
(доступно здесь ) bcprov-jdk15on-1.52.jar
(доступно здесь ) CryptCodecOpener.jar
(доступно здесь ) , поэтому в нем содержится
gord@gord-dv7-xubuntu0:~$ ll Downloads/JDBC/UCanAccess/lib
total 5580
drwxrwxr-x 2 gord gord 4096 Jan 17 05:54 ./
drwxrwxr-x 5 gord gord 4096 Jan 17 05:38 ../
-rw-rw---- 1 gord gord 2902942 Dec 1 2017 bcprov-jdk15on-1.52.jar
-rw-rw---- 1 gord gord 284220 Nov 16 2013 commons-lang-2.6.jar
-rw-rw---- 1 gord gord 62050 Sep 22 2015 commons-logging-1.1.3.jar
-rw-rw---- 1 gord gord 1146 Jan 16 17:40 CryptCodecOpener.jar
-rw-rw---- 1 gord gord 1467326 Oct 8 2013 hsqldb.jar
-rw-rw---- 1 gord gord 882908 Mar 10 2018 jackcess-2.1.11.jar
-rw-rw---- 1 gord gord 86730 Dec 1 2017 jackcess-encrypt-2.1.4.jar
Затем я добавил ;jackcessOpener=com.gordthompson.ucanaccess.crypto.CryptCodecOpener
к своему URL-адресу соединения, чтобы он стал
jdbc:ucanaccess:///home/gord/Documents/protected.mdb;jackcessOpener=com.gordthompson.ucanaccess.crypto.CryptCodecOpener
, и я мог открыть файл .mdb, защищенный ULS.
Я - большой поклонник LINQ к SQL, если Вы встречаете следующие конструктивные требования:
Я не сделал большой работы с Платформой Объекта, но от того, что я знаю и что я сделал, то, что это не имеет как - хорошая производительность при генерации от той же базы данных как LINQ к использованию SQL.
Более низкая производительность происходит из-за природы Платформы Объекта, она использует ADO, а не определенных поставщиков для сервера базы данных, который Вы используете.
Я думаю, что Linq 2 Sql является отличным выбором. Несколько точек:
Да, согласованный с Slace.
Просто будьте осторожны на платформе, которую Вы действительно выбираете, чтобы гарантировать, что она удовлетворяет все Ваши потребности.
Например, я недавно разрушил Платформу Объекта из проекта работы после работы с ним довольно единогласно за последние несколько недель, поскольку это не упрощало мои потребности, главным образом из-за:-
Кроме этого, команды и платформа казались прямыми и аккуратными, и причина, я пошел с EF, был:
Дополнительные материалы для чтения (другой ТАК отправляет):
LINQ к SQL, мертвому или живому?
Я хотел бы выбрать EF, я действительно не знаю, что сделать из L2S по сравнению с EF debarcle, и если L2S действительно является дохлым номером, пожатием плеч. моим основным схватыванием по общему признанию с EF является NotSupportedException - я мог обойти ленивую загрузку, если я мог бы выполнить вызовы метода в linq, не получая это...
Я сказал бы, что для простого для модерирования схемы базы данных работы Linq2SQL очень хорошо и легче настроить и использовать. Это - то, что я использую для своего ORM с некоторыми маленькими корректировками через частичные классы для поддержки проверки и авторизации/аудита. Я использую разработчика DBML и добавляю мои таблицы/отношения. Я изменяю DataContext, чтобы сделать это кратким обзором и создать конкретную реализацию, которая позволяет мне обеспечивать реализации своих табличных функций/хранимых процедур (которые отображаются в контекст данных как методы), которые обеспечивают рычаги для аудита и авторизации. Я реализую частичные методы на классах объекта для OnValidate и OnLoad, чтобы сделать и проверку и авторизацию на уровне таблицы. Я нахожу, что это - в значительной степени все, в чем я нуждаюсь. В последнее время я определял интерфейс и обертку для конкретного контекста данных также, чтобы позволить мне дразнить его в моих модульных тестах.
Мой голос переходит к Linq-SQL. Это соответствует Вашему сценарию быстрой разработки; легкий начать в, простой в использовании. Кроме того, это генерирует хорошие/эффективные SQL-запросы от выражений Linq.
Linq к объектам является неуклюжим, при попытке использовать какую-либо из 'усовершенствованных' функций, которая, как предполагается, устанавливает его кроме L2S затем, необходимо будет начать редактировать файл модели EDMX с помощью XML-редактора (Вы скоро столкнетесь с 'ограничениями' в разработчике, где единственное обходное решение/решение, рекомендуемое Microsoft, должно использовать XML-редактор для ручной заводной рукоятки EDMX). К тому же это имеет тенденцию генерировать действительно плохие/неэффективные SQL-запросы.
Microsoft заявляет, что следующая версия Платформы Объекта будет намного лучше и будет поддерживать всех положительных героев L2S. Однако следующая версия не будет выпущена в ближайшее время поэтому до тех пор, L2S является Вашим лучшим выбором.
Для использования с Услугами передачи данных ADO.NET (который Вы упоминаете), Платформа Объекта является той, которая работает из поля. Если Вы хотите обновить данные с LINQ-SQL (через Услуги передачи данных ADO.NET), необходимо сделать некоторую работу для реализации IUpdatable
. К счастью я вел блог об этом на этой неделе.
Мои полные мысли между этими двумя покрыты здесь, но я смягчился немного с тех пор, посмотрите здесь.
В основном в данный момент я предпочитаю LINQ-SQL, но я ожидаю, что EF будет более применимым в следующей версии. Следовательно, почему я работаю для получения LINQ-SQL, работающего с Услугами передачи данных ADO.NET.
Я рекомендовал бы смотреть на нерешения Microsoft для ORM. nHibernate, отличное решение, которое имеет всех положительных героев обеих из тех платформ плюс больше. Да это - более крутая кривая изучения, но быстрый nHibernate помогает с этим. Определенно стоящий усилия.
Никто не может сказать Вас defenitly, что лучше.
Оба techs имеют проблемы (NHibernate имеют проблемы также).
Я использую Linq-SQL и preatty довольный им. Поскольку моими проблемами мнения в Linq-SQL являются меньше, чем в EF ^_^.
Мы думали, что L2S был большим, пока мы не пытались сделать обновления. Затем это вызывало жалость. Мой коллега делал большую часть этой работы, в то время как я сделал другие вещи. Он говорил о EF и путях, которыми чрезмерная конфигурируемость сделала его грязным для использования.
Я предположил, что, так как мы нацелены на MSSQL и это не собирается изменяться, он мог вырубить весь материал абстракции поставщика БД. Некоторое время спустя он сказал мне, что это было хорошее предложение, и его код был намного более простым и менее трудным для поддержания.
Мне любопытно относительно основания, на котором был провален этот ответ. Это описывает фактический опыт, и это обсуждает альтернативную стратегию и относительный успех того подхода. Вниз голосующий для ответов, которые вводят в заблуждение, фактически неправильный или просто посылают сообщение-розыгрыш.
Как это происходит, я сменил свое положение на целом EF по сравнению с вещью L2S, но это не изменяет то, что вниз голосующий что-то просто, потому что это выражает мнение, отличающееся от Вашего собственного, инфантильно и полностью в противоречии с духом StackOverflow.
Linq к SQL является тупиком в эти дни, потому что Microsoft не собирается обновлять его больше. Я использовал его на некоторое время для моих собственных проектов, но я нашел это недостаточно мощным по сравнению с реальным SQL. Конечно, могло бы казаться легче работать вскоре, но в течение цикла разработки Вашего приложения Вы найдете наслаждение питанием SQL больше.
Я думаю, что LINQ К SQL должен только быть принят теми, кто severly зависящий от уровней абстракции платформы и не имеет времени/энергии/требования для преследования SQL.
Еще одна вещь, которую необходимо помнить, состоит в том, что дополнительный слой между SQL и приложением имеет свою собственную стоимость. Различие в скорости не что-то, что Вы легко заметите, но это там.
Лично я рекомендую, чтобы кто-то, кто начинает, получил высшее образование прямо к SQL и дать LINQ SQL мисс.
Это довольно старый вопрос, но поддержка LinqToSql среди наиболее популярных ответов касается меня. У LinqToSql есть существенные недостатки.
Не используйте Visual Studio 2008 LinqToSql O / R Designer
Недостатки принятия Linq To Sql
Тем не менее, есть существенные недостатки и у EntityFramework.
Доступны гораздо, намного лучшие варианты ( NHibernate сейчас самый лучший вариант).