|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Добрый день, коллеги. Собственно сам вопрос. Мне нужно прочитать MS Access в моем приложении .NET Core. Проблема в том, что OleDb больше не поддерживается в .NET Core и сказать: using System.Data; using System.Data.OleDb; можно, но оно работать не будет и объект подключения: System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection() формироваться не будет, возвращает ошибку: Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка CS0234 Тип или имя пространства имен "OleDbConnection" не существует в пространстве имен "System.Data.OleDb" (возможно, отсутствует ссылка на сборку). Import C:\Data\Import\Import\Import\Program.cs Приложение должно быть максимально портируемым, кроссплатформенным, потому и .NET Core и ODBC тоже использовать нельзя. Коллеги, подскажите, есть какое-нибудь ещё решение для вынимания данных из файлf базы Access с последующей записью в MSSQL? Пробовал (VS 2017): https://github.com/bubibubi/EntityFrameworkCore.Jet Не компилируется, не встаёт ... Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 16:07 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
У тебя один выход, портировать Access на sql server, последний запускается по Linux и там есть express версия. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 16:15 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Евгений, Спасибо за ответ! Вот я тоже ничего не нашел .. Скажите, а средствами языка JAVA можно реализовать такой автономный модуль? Прошу прощенья, не рассматривал подобную возможность, но если можно, придется смотреть в ту сторону. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 16:24 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
jdbc есть конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 16:27 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Konst_Onejdbc есть конечноэто спецификация, а есть ли реализация (а.к.а. драйвер Access) на линух сильно сомневаюсь )) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 18:39 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Relic Hunter, есть мост через odbc и платные реализации чисто на жабе ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 21:40 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
"Нафига козе баян, если есть гармошка?" Access тут каким боком тогда? Какой во всём этом смысл, если вы пишите, что всё должно быть кросс-платформенное, ну значит имеет имеет смысл использовать не Access, а другую СУБД, к примеру, SQLite или еще чего. Сделать миграцию с Access на SQLite (с точки зрения схемы базы данных, без отчётов и прочей муры) не особо сложная задача ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 23:21 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 01:07 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
А что за приложение-то? WinForms ))? Так его на Коре тоже не завезли)) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 04:30 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
hVostt, спасибо за хорошую ссылку. Relic Hunter, именно Access, потому как дорогущая амерская прилага крутится на нем и менять нельзя ничего, лицензию потеряем Подумал в сторону ODBC - using System.Data.Odbc; Скачал через NuGet Не работает, говорит: System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию Хотя ODBC драйвер есть, скрин прилагаю. Вот код: using System; using System.Data.Odbc; namespace ImportPIMS { class Program { static void Main(string[] args) { string connetionString = null; connetionString = "Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=C:\\Data\\input.mdb"; OdbcConnection cnn = new OdbcConnection(connetionString); try { cnn.Open(); Console.WriteLine("Connection Open!"); Console.ReadKey(); cnn.Close(); } catch (Exception ex) { Console.WriteLine("Can not open connection!"); Console.WriteLine(ex); Console.ReadKey(); } } } } Коллеги, есть мысли, что не так делаю? Зарание спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 11:08 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Microsoft Access Driver (*.mdb,*.accdb) это вряд ли будет кроссплатформенно ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 11:13 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
вы вообще хоть как-то можете получить доступ к своей базе, может начнёте с примеров доступа: https://vscode.ru/prog-lessons/ms-access-i-c-sharp-rabotaem-s-bd.html ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 11:16 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
а тут чисто мышкокликаньем: https://it-black.ru/rabota-s-bazoj-dannyh-v-ci_sharp/ ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 11:17 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Konst_One, спасибо за отклик. OleDbConnection нельзя, .Net Core его не поддерживает... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 11:24 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Надо через ODBC ... .Net Core его знает. Таковы наши реали ... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 11:26 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
пробуйте через юзер DSN , сначала его настройте и протестите соединение: https://stackoverflow.com/a/10375210 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 11:31 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
AlexKM2020DBQ=C:\\Data\\input.mdb а в статье слэши в другую сторону: Dbq=C:/location/to/mdb/file ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 11:35 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Так, а файл сам куда положить? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 11:38 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Коллеги, получилось! Отдельное спасибо, Konst_One за вариант с DSN. Что сделано: в ODBC в системный DSN в 32 и 62 разрядные добавил одноименные DSN со ссылкой на тот файл. Далее код, который работает: using System; using System.Data.Odbc; namespace ImportPIMS { class Program { static void Main(string[] args) { string connetionString = null; connetionString = @"DSN=PIMS"; using (OdbcConnection myConnection = new OdbcConnection()) { try { myConnection.ConnectionString = connetionString; myConnection.Open(); Console.WriteLine("Connection Open ! "); Console.ReadKey(); myConnection.Close(); } catch (Exception ex) { Console.WriteLine("Can not open connection ! "); Console.WriteLine(ex); Console.ReadKey(); } } } } } Коллеги, кто откликнулся, всем спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 13:08 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
AlexKM2020Коллеги, получилось! Отдельное спасибо, Konst_One за вариант с DSN. Что сделано: в ODBC в системный DSN в 32 и 62 разрядные добавил одноименные DSN со ссылкой на тот файл. Далее код, который работает: Код: c# 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.
Коллеги, кто откликнулся, всем спасибо! пожалуйста, научитесь уже оформлять код. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 15:24 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
AlexKM2020 Коллеги, кто откликнулся, всем спасибо! Это удалось запустить под Linux? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 16:39 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
О да, ODBC не раз выручало с самыми мутными, дикими и даже битыми источниками данных) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 21:51 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Relic HunterА что за приложение-то? WinForms ))? Так его на Коре тоже не завезли)) вообще-то WinForms на коре 3 завезли, но только под виндоуз ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2019, 11:16 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Ролг ХупинRelic HunterА что за приложение-то? WinForms ))? Так его на Коре тоже не завезли)) вообще-то WinForms на коре 3 завезли, но только под виндоуз очень надеялся, что WPF завезут под линух, тем более, что там ограничений меньше, чем winforms ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2019, 11:26 |
|
Доступ в файл базы Access по средствам .Net Core
|
|||
---|---|---|---|
#18+
Roman MejtesРолг Хупинпропущено... вообще-то WinForms на коре 3 завезли, но только под виндоуз очень надеялся, что WPF завезут под линух, тем более, что там ограничений меньше, чем winforms вроде бы завезли winforms и WPF, но для виндоуз. А про другие ОС пока (или совсем) молчат. Я попробовал: сделал винформс коре приложение, под виндоуз пустилось, построилось под линукс, пустил там - фигушки, нету винформс. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2019, 11:35 |
|
|
start [/forum/topic.php?fid=20&msg=39836329&tid=1398882]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 511ms |
0 / 0 |