& ldquo; Открыт исключительно для другого пользователя & rdquo; при чтении данных из CSV с помощью C #

Как уже указывалось, вы пытаетесь создать реляционную базу данных из какой-либо реляционной базы данных, которую вы действительно не хотите делать, но в любом случае, если у вас есть случай, когда вы должны это сделать, это решение, которое вы можете использовать , Сначала мы делаем поиск foreach в коллекции A (или в вашем случае пользователей), и затем мы получаем каждый элемент как объект, тогда мы используем свойство объекта (в вашем случае uid) для поиска в нашей второй коллекции (в ваших комментариях к случаю), если мы может найти его, тогда у нас есть совпадение, и мы можем печатать или что-то делать с ним. Надеюсь, это поможет вам и удачи:)

db.users.find().forEach(
function (object) {
    var commonInBoth=db.comments.findOne({ "uid": object.uid} );
    if (commonInBoth != null) {
        printjson(commonInBoth) ;
        printjson(object) ;
    }else {
        // did not match so we don't care in this case
    }
});
0
задан Eray Balkanli 17 January 2019 в 14:56
поделиться

2 ответа

Ваша проблема, вероятно, сводится к плохой обработке исключений. Прямо в примере кода вы проглатываете исключения, не регистрируете их содержимое и переходите к фатальным. Любая из них является фатальной ошибкой обработки исключений. И я полагаю, что у остальной части вашего кода есть похожие проблемы.

Такие исключения обычно происходят из-за неправильного закрытия FileHandles. Который напрямую связан с обработкой исключений. Поэтому я могу связать эти две статьи только так, как часто делал раньше, и надеюсь, что вы найдете решение вашей проблемы, следуя их указаниям:

0
ответ дан Christopher 17 January 2019 в 14:56
поделиться

Потратив один день на эту проблему, я наконец нашел решение.

Необходимо выполнить два шага:

1- При использовании OleDBConnection оказалось, что вы не можете прочитать исходный файл, поскольку, как только файл открывается, он начинает использовать загруженный файл. Это подталкивает нас к копированию файла в другое временное местоположение. Поэтому добавьте строку проверки в код.

FileUploadControl.SaveAs(filePath + fileName); //This is the line
OleDbConnection fileConnection = new OleDbConnection(FileConnectionString(filePath, fileName));
fileConnection.Open();

Что он делает, я загружаю файл со своего рабочего стола, чтобы прочитать данные, но приложение сначала копирует его в другое место и читает данные из копии вместо оригинальной.

2- Во временной папке (папке) должен быть NETWORK SERVICE как пользователь. Перейдите в настройки папки -> Безопасность -> Добавить пользователя -> Добавить сетевой сервис с правами чтения и записи.

Тогда тебе будет хорошо идти. Спасибо @Bran и @techturtle за то, что вдохновили меня в комментариях.

0
ответ дан Eray Balkanli 17 January 2019 в 14:56
поделиться
Другие вопросы по тегам:

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