Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

OLEDB unknown error in ASP.NET

2 views
Skip to first unread message

GT

unread,
Jun 18, 2009, 6:57:01 AM6/18/09
to
Hello

ASP.NET 2.0 trying to load CSV-File via OLEDB

Impersonation is on, Basic-HTTP Authentication.

It only works when the logged on user is an andministrator.
ASPNET-Account and also the normal user-account has full rights on the
folder containing the csv-file.

Any help would be great

Thanks


Source:
string path2CSV = @"D:\temp\";
OleDbConnection oConn = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + path2CSV + ";" +
"Extended Properties=\"text;HDR=YES;FMT=Delimited\"");

OleDbDataAdapter oCmd = new OleDbDataAdapter("select * from
payments.csv", oConn);

DataSet dsCSV = new DataSet();
oCmd.Fill(dsCSV);

Here the error is thrown:


Error Message/Stack Trace:

[OleDbException (0x80004005): Unbekannter Fehler]
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString
constr, OleDbConnection connection) +1131233

System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions
options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection
owningObject) +53

System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +27
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection) +47
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.OleDb.OleDbConnection.Open() +37
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset,
DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable,
IDbCommand command, CommandBehavior behavior) +121
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior) +137
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +86
payments_check.btnUpload_Click(Object sender, EventArgs e) in
d:\vs2005prj\NovaX\NovaWeb\payments_check.aspx.cs:68
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
+107

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746

Alexey Smirnov

unread,
Jun 18, 2009, 9:21:35 AM6/18/09
to
> System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbCo nnection owningConnection, DbConnectionPoolGroup poolGroup) +27

>    System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
> owningConnection) +47
>    System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
> outerConnection, DbConnectionFactory connectionFactory) +105
>    System.Data.OleDb.OleDbConnection.Open() +37
>    System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset,
> DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable,
> IDbCommand command, CommandBehavior behavior) +121
>    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
> Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
> behavior) +137
>    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +86
>    payments_check.btnUpload_Click(Object sender, EventArgs e) in
> d:\vs2005prj\NovaX\NovaWeb\payments_check.aspx.cs:68
>    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
>    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
> +107
>
> System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaiseP ostBackEvent(String eventArgument) +7

>    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
> sourceControl, String eventArgument) +11
>    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
>    System.Web.UI.Page.ProcessRequestMain(Boolean
> includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746

Hallo,

check if you have TEMP (or TMP) environment variable defined on the
server. I think OLEDB creates a temporary file in the directory
specified by one of these variables. If directory does not exist or
has no permissions, than it will not work for a normal user.

Hope this helps

Alexey Smirnov

unread,
Jun 18, 2009, 9:23:53 AM6/18/09
to

To check (English Windows):

Control Panel - System - Advanced - Environment Variables

GT

unread,
Jun 18, 2009, 11:24:08 AM6/18/09
to
Hello,

thanks for your answer, was a hint in the right direction. It didn't help to
change the ACL on the TMP/TEMP for the system nor for the loggend on user. I
found an other link,
http://www.c-sharpcorner.com/Blogs/BlogDetail.aspx?BlogId=355, where the
solution is described.

Once again thanks a lot

Alexey Smirnov

unread,
Jun 18, 2009, 2:35:35 PM6/18/09
to
On Jun 18, 5:24 pm, GT <G...@discussions.microsoft.com> wrote:
> Hello,
>
> thanks for your answer, was a hint in the right direction. It didn't help to
> change the ACL on the TMP/TEMP for the system nor for the loggend on user. I
> found an other link,http://www.c-sharpcorner.com/Blogs/BlogDetail.aspx?BlogId=355, where the

glad it works now for you

0 new messages