Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Доступ в файл базы Access по средствам .Net Core / 25 сообщений из 26, страница 1 из 2
10.07.2019, 16:07
    #39836012
AlexKM2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Добрый день, коллеги.
Собственно сам вопрос.
Мне нужно прочитать 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
Не компилируется, не встаёт ...

Спасибо.
...
Рейтинг: 0 / 0
10.07.2019, 16:15
    #39836015
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
У тебя один выход, портировать Access на sql server, последний запускается по Linux и там есть express версия.
...
Рейтинг: 0 / 0
10.07.2019, 16:24
    #39836021
AlexKM2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Евгений, Спасибо за ответ!
Вот я тоже ничего не нашел ..
Скажите, а средствами языка JAVA можно реализовать такой автономный модуль?
Прошу прощенья, не рассматривал подобную возможность, но если можно, придется смотреть в ту сторону.
...
Рейтинг: 0 / 0
10.07.2019, 16:27
    #39836024
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
jdbc есть конечно
...
Рейтинг: 0 / 0
10.07.2019, 18:39
    #39836075
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Konst_Onejdbc есть конечноэто спецификация, а есть ли реализация (а.к.а. драйвер Access) на линух сильно сомневаюсь ))
...
Рейтинг: 0 / 0
10.07.2019, 21:40
    #39836104
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Relic Hunter,
есть мост через odbc и платные реализации чисто на жабе
...
Рейтинг: 0 / 0
10.07.2019, 23:21
    #39836124
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
"Нафига козе баян, если есть гармошка?"
Access тут каким боком тогда? Какой во всём этом смысл, если вы пишите, что всё должно быть кросс-платформенное, ну значит имеет имеет смысл использовать не Access, а другую СУБД, к примеру, SQLite или еще чего.
Сделать миграцию с Access на SQLite (с точки зрения схемы базы данных, без отчётов и прочей муры) не особо сложная задача
...
Рейтинг: 0 / 0
11.07.2019, 01:07
    #39836134
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
...
Рейтинг: 0 / 0
11.07.2019, 04:30
    #39836144
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
А что за приложение-то? WinForms ))? Так его на Коре тоже не завезли))
...
Рейтинг: 0 / 0
11.07.2019, 11:08
    #39836230
AlexKM2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
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();
}
}
}
}

Коллеги, есть мысли, что не так делаю?

Зарание спасибо.
...
Рейтинг: 0 / 0
11.07.2019, 11:13
    #39836235
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Microsoft Access Driver (*.mdb,*.accdb)

это вряд ли будет кроссплатформенно
...
Рейтинг: 0 / 0
11.07.2019, 11:16
    #39836237
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
вы вообще хоть как-то можете получить доступ к своей базе, может начнёте с примеров доступа:

https://vscode.ru/prog-lessons/ms-access-i-c-sharp-rabotaem-s-bd.html
...
Рейтинг: 0 / 0
11.07.2019, 11:17
    #39836239
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
а тут чисто мышкокликаньем:
https://it-black.ru/rabota-s-bazoj-dannyh-v-ci_sharp/
...
Рейтинг: 0 / 0
11.07.2019, 11:24
    #39836244
AlexKM2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Konst_One, спасибо за отклик.
OleDbConnection нельзя, .Net Core его не поддерживает...
...
Рейтинг: 0 / 0
11.07.2019, 11:26
    #39836248
AlexKM2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Надо через ODBC ...
.Net Core его знает.
Таковы наши реали ...
...
Рейтинг: 0 / 0
11.07.2019, 11:31
    #39836254
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
пробуйте через юзер DSN , сначала его настройте и протестите соединение: https://stackoverflow.com/a/10375210
...
Рейтинг: 0 / 0
11.07.2019, 11:35
    #39836259
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
AlexKM2020DBQ=C:\\Data\\input.mdb
а в статье слэши в другую сторону: Dbq=C:/location/to/mdb/file
...
Рейтинг: 0 / 0
11.07.2019, 11:38
    #39836263
AlexKM2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Так, а файл сам куда положить?
...
Рейтинг: 0 / 0
11.07.2019, 13:08
    #39836329
AlexKM2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Коллеги, получилось!
Отдельное спасибо, 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();
}
}
}
}
}

Коллеги, кто откликнулся, всем спасибо!
...
Рейтинг: 0 / 0
11.07.2019, 15:24
    #39836423
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
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.
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();
                }
            }
        }
    } 
}


Коллеги, кто откликнулся, всем спасибо!
пожалуйста, научитесь уже оформлять код.
...
Рейтинг: 0 / 0
11.07.2019, 16:39
    #39836476
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
AlexKM2020

Коллеги, кто откликнулся, всем спасибо!
Это удалось запустить под Linux?
...
Рейтинг: 0 / 0
11.07.2019, 21:51
    #39836586
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
О да, ODBC не раз выручало с самыми мутными, дикими и даже битыми источниками данных)
...
Рейтинг: 0 / 0
12.07.2019, 11:16
    #39836717
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Relic HunterА что за приложение-то? WinForms ))? Так его на Коре тоже не завезли))

вообще-то WinForms на коре 3 завезли, но только под виндоуз
...
Рейтинг: 0 / 0
12.07.2019, 11:26
    #39836731
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Ролг ХупинRelic HunterА что за приложение-то? WinForms ))? Так его на Коре тоже не завезли))

вообще-то WinForms на коре 3 завезли, но только под виндоуз
очень надеялся, что WPF завезут под линух, тем более, что там ограничений меньше, чем winforms
...
Рейтинг: 0 / 0
12.07.2019, 11:35
    #39836740
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Доступ в файл базы Access по средствам .Net Core
Roman MejtesРолг Хупинпропущено...


вообще-то WinForms на коре 3 завезли, но только под виндоуз
очень надеялся, что WPF завезут под линух, тем более, что там ограничений меньше, чем winforms

вроде бы завезли winforms и WPF, но для виндоуз. А про другие ОС пока (или совсем) молчат.

Я попробовал: сделал винформс коре приложение, под виндоуз пустилось, построилось под линукс, пустил там - фигушки, нету винформс.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Доступ в файл базы Access по средствам .Net Core / 25 сообщений из 26, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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