Тип данных изменения при импорте файла Excel в Доступ

Попробуйте использовать Database SetInitializer, который принадлежит к использованию System.Data.Entity;

В Global.asax

protected void Application_Start()
{
    Database.SetInitializer(new DropCreateDatabaseIfModelChanges<yourContext>());
}

Это создаст новую базу данных каждый раз, когда ваша модель будет изменена. Но ваша база данных будет пустой. Чтобы заполнить ее фиктивными данными, вы можете использовать Seeding. Который вы можете реализовать как:

Посев ::

protected void Application_Start()
{
    Database.SetInitializer(new AddressBookInitializer());
                ----rest code---
}
public class AddressBookInitializer : DropCreateDatabaseIfModelChanges<AddressBook>
{
    protected override void Seed(AddressBook context)
    {
        context.yourmodel.Add(
        {

        });
        base.Seed(context);
    }

}
6
задан Community 23 May 2017 в 11:51
поделиться

5 ответов

Это может быть вызвано настройками по умолчанию драйвера Excel Jet. Проверьте следующий ключ реестра и изменение, это - значение от значения по умолчанию от 8 до 0, означая "тип данных столбца предположения на основе всех значений, не только сначала 8 строк".

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]
"TypeGuessRows"=dword:00000000

Скажите, работает ли это.

2
ответ дан 17 December 2019 в 07:10
поделиться

Существует несколько способов сделать это. Самый простой путь состоит в том, чтобы преобразовать .xls файл в .csv файл в Excel, таким образом, можно импортировать в Доступ с помощью текстового Мастера Импорта, который позволяет Вам выбирать типы данных каждого столбца во время импорта.

Другое преимущество для выполнения этого - то, что импорт csv (или текст) файл настолько быстрее, чем импорт xls файла. Если Вы собираетесь сделать этот импорт несколько раз, сохраните настройки установки импорта как спецификацию импорта. (Когда в текстовом Мастере Импорта, нажмите на кнопку "Advanced..." на левой нижней части, затем нажмите на "Save As" и дайте имя спецификации для сохранения изменений, которые Вы просто внесли.)

3
ответ дан 17 December 2019 в 07:10
поделиться

Доступ может сделать то, в чем Вы нуждаетесь, но нет никакого простого пути к этому. Необходимо было бы управлять некоторым recordsets, один являющийся данными Excel, при этом другой был бы заключительной таблицей Access. Однажды оба recordsets открыты, можно передать данные от одного recordset до другого путем просмотра данных Excel и добавления его к таблице Access. На данном этапе будет возможно изменить тип данных согласно просьбе.

0
ответ дан 17 December 2019 в 07:10
поделиться

Доступ сделает это.

В Вашем процессе импорта можно определить, каков тип данных каждого столбца.

-1
ответ дан 17 December 2019 в 07:10
поделиться

При импорте из файлов CSV можно также взглянуть на schema.ini, Вы найдете, что с этим можно управлять каждым аспектом процесса импорта.

0
ответ дан 17 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: