Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 22.12.2017
Сообщений: 13
1

Выгрузка в файл .dbf в проекте ASP.NET

22.12.2017, 14:22. Просмотров 493. Ответов 11
Метки нет (Все метки)

Есть сайт, написанный на ASP.NET. Одна из его функций предполагает выгрузку данных в файл .dbf. При локальном запуске проекта с помощью Microsoft Visual Studio соответствующая страница в браузере открывается и выгрузка происходит, а при обращении к сайту, размещенному на сервере, выгрузка не работает. Сервер - 64-разрядный Microsoft Windows Server R2, с установленными 64-разрядными Microsoft Office 2010 и Microsoft Access Database Engine. На компьютере стоит 64-разрядная Windows 7. Почему не работает выгрузка в dbf на сайте, размещенном на сервере, и как устранить эту проблему?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2017, 14:22
Ответы с готовыми решениями:

Можно ли использовать сборку из .NET Core в обычном ASP .NET проекте ?
Microsoft.Extensions.Logging очень удобная штука, в обычном .NET её никак нельзя задействовать ?...

Зависимости .net standard в ASP.NET MVC проекте
Привет! Есть 2 проекта: приложение asp.net mvc 5 (1) и dll типа .net standard (2). (1) имеет...

Выгрузка данных из Документа в DBF файл
Здравствуйте! Вот у меня следующий вопрос. Я делаю выгрузку данных из документа...

Рисование на форме в в проекте ASP.NET
Здравствуйте. Объясни пожалуйста, как реализовать рисование точек и линий на web-форме в проекте...

11
Супер-модератор
Эксперт .NET
11885 / 9925 / 4151
Регистрация: 17.03.2014
Сообщений: 19,909
Записей в блоге: 1
22.12.2017, 15:43 2
Цитата Сообщение от new_newby Посмотреть сообщение
при обращении к сайту, размещенному на сервере, выгрузка не работает.
Просто "не работает" или все-таки выдает какие-то ошибки в процессе? Если да, то какие?
0
0 / 0 / 0
Регистрация: 22.12.2017
Сообщений: 13
22.12.2017, 15:49  [ТС] 3
Да, конечно, выдает следующую ошибку:

Ядро СУБД Microsoft Access более не может открыть файл "C:\inetpub\wwwroot\WEBRT1\MyC ontract_1C" или записать в него данные. Файл уже открыт другим пользователем для монопольного доступа, либо требуется разрешение на просмотр и запись данных.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Сведения об исключении: System.Data.OleDb.OleDbExcepti on: Ядро СУБД Microsoft Access более не может открыть файл "C:\inetpub\wwwroot\WEBRT1\MyC ontract_1C" или записать в него данные. Файл уже открыт другим пользователем для монопольного доступа, либо требуется разрешение на просмотр и запись данных.

Ошибка источника:


Строка 762: using (dBaseConnection = new OleDbConnection("Provider=Micr osoft.ACE.OLEDB.12.0; " + " Data Source=" + filepath + "; Mode=ReadWrite;Persist Security Info=False; " + "Extended Properties="Excel 12.0 Xml;HDR=YES";"))
Строка 763: {
Строка 764: dBaseConnection.Open();
Строка 765:
Строка 766: OleDbCommand oleinsertCommand = dBaseConnection.CreateCommand( );


Исходный файл: c:\inetpub\wwwroot\WEBRT1\Cons t.aspx.cs Строка: 764

Трассировка стека:


[OleDbException (0x80004005): Ядро СУБД Microsoft Access более не может открыть файл "C:\inetpub\wwwroot\WEBRT1\MyC ontract_1C" или записать в него данные. Файл уже открыт другим пользователем для монопольного доступа, либо требуется разрешение на просмотр и запись данных.]
System.Data.OleDb.OleDbConnect ionInternal..ctor(OleDbConnect ionString constr, OleDbConnection connection) +1651552
System.Data.OleDb.OleDbConnect ionFactory.CreateConnection(Db ConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +100
System.Data.ProviderBase.DbCon nectionFactory.CreateNonPooled Connection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) +61
System.Data.ProviderBase.DbCon nectionFactory.TryGetConnectio n(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +953
System.Data.ProviderBase.DbCon nectionInternal.TryOpenConnect ionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +6606535
System.Data.ProviderBase.DbCon nectionInternal.OpenConnection (DbConnection outerConnection, DbConnectionFactory connectionFactory) +27
System.Data.OleDb.OleDbConnect ion.Open() +47
Const.CreateDBFFileContract_1C () in c:\inetpub\wwwroot\WEBRT1\Cons t.aspx.cs:764
Const.ImageButtonPrintContract DBF_Click(Object sender, ImageClickEventArgs e) in c:\inetpub\wwwroot\WEBRT1\Cons t.aspx.cs:618
System.Web.UI.WebControls.Imag eButton.OnClick(ImageClickEven tArgs e) +134
System.Web.UI.WebControls.Imag eButton.RaisePostBackEvent(Str ing eventArgument) +204
System.Web.UI.Page.ProcessRequ estMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804
0
Супер-модератор
Эксперт .NET
11885 / 9925 / 4151
Регистрация: 17.03.2014
Сообщений: 19,909
Записей в блоге: 1
22.12.2017, 15:57 4
new_newby, веб-сервер работает под учетной записью пользователя которая не имеет прав записи в каталог веб-приложения. Перемести файл БД в папку App_Data и дай пользователю своего пула права на чтение/запись файла. Перемешение в App_Data необходимо чтобы файл, оставаясь частью веб-приложения, не был доступен по прямой ссылке. Иначе любой "хакер" сможет скачать твою БД.

Добавлено через 1 минуту
Локально все работало потому что веб-приложение запускалось под твоей учетной записью, которая, скорее всего, имеет права администратора.
1
0 / 0 / 0
Регистрация: 22.12.2017
Сообщений: 13
22.12.2017, 16:05  [ТС] 5
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Локально все работало потому что веб-приложение запускалось под твоей учетной записью, которая, скорее всего, имеет права администратора.
Да, моя учетная запись имеет такое право.

Цитата Сообщение от OwenGlendower Посмотреть сообщение
Перемести файл БД в папку App_Data и дай пользователю своего пула права на чтение/запись файла.
ОК, попробую. Большое спасибо.
0
0 / 0 / 0
Регистрация: 22.12.2017
Сообщений: 13
26.12.2017, 11:37  [ТС] 6
А можно ли экспортировать в файл dbf содержимое контрола GridView? Если да, то как?
0
2370 / 1832 / 330
Регистрация: 22.07.2011
Сообщений: 7,025
26.12.2017, 12:38 7
Получаете html разметку GridView в виде строки - control.RenderControl;
и потом конвертируете той или иной либой в pdf , например htmlToPdfConverter , или в изображение , которое затем вставляете в pdf.
0
0 / 0 / 0
Регистрация: 22.12.2017
Сообщений: 13
26.12.2017, 12:42  [ТС] 8
Хотелось бы экспортировать не в pdf, а в dbf.
0
2370 / 1832 / 330
Регистрация: 22.07.2011
Сообщений: 7,025
26.12.2017, 12:54 9
Ой , пардон , так dbf это же база данных , собственно как доставали из нее данные для отображения в GridView, так же обратно и засовываете ) , через SQL запросы , сам GridView вам тут совершенно не нужен. - ну разве что только реагировать на его события обновлений.

Привязка и изменение данных в GridView каким образом реализованы ?
0
0 / 0 / 0
Регистрация: 22.12.2017
Сообщений: 13
26.12.2017, 12:56  [ТС] 10
Данные для GridView в данном случае берутся из БД другого формата, не dbf. Сам GridView не редактируется.
0
2370 / 1832 / 330
Регистрация: 22.07.2011
Сообщений: 7,025
26.12.2017, 15:07 11
Цитата Сообщение от new_newby Посмотреть сообщение
Данные для GridView в данном случае берутся из БД другого формата, не dbf. Сам GridView не редактируется.
Ну не суть важно , отражаете данные на какую либо структуру , у GridView источник данных какой ? - вот эти же данные заносите в вашу dbf , те сам GridView тут нужен только лишь для отображения данных , но не нужен что бы эти данные перезалить в другую БД. КЭП.
0
0 / 0 / 0
Регистрация: 22.12.2017
Сообщений: 13
27.12.2017, 17:10  [ТС] 12
Цитата Сообщение от OwenGlendower Посмотреть сообщение
дай пользователю своего пула права на чтение/запись файла.
Хорошо бы еще знать, как конкретно это делается.

Добавлено через 6 часов 5 минут
Со всем разобрался, все получилось.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2017, 17:10

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

ASP.NET MVC + jquery выгрузка файла
Доброго времени суток. Наткнулся на такую ситуацию: есть форма и вней кнопка типа button. На jquery...

1С Коммунальщик: выгрузка в файл dbf начислений по определенным адресам
Возник вопрос не совсем по моему профилю, поэтому сразу приношу извинения если буду писать...

Использовать html разметку в проекте asp.net
привет всем есть готовая html страница, надо добавить его в мастер страницу и обработать событие...

Генерация DOC и PDF в asp.net проекте
Добрый день требуется найти оптимальное решение для генерации DOC и PDF документов. 1) У...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.