Home All Groups Group Topic Archive Search About

OLEDB unknown error in ASP.NET

Author
18 Jun 2009 10:57 AM
GT
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

Author
18 Jun 2009 1:21 PM
Alexey Smirnov
On Jun 18, 12:57 pm, GT <G***@discussions.microsoft.com> wrote:
Show quoteHide quote
> 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(DbConnectionOptio ns
> options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection
> owningObject) +53
>
> 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
Are all your drivers up to date? click for free checkup

Author
18 Jun 2009 1:23 PM
Alexey Smirnov
On Jun 18, 3:21 pm, Alexey Smirnov <alexey.smir***@gmail.com> wrote:
Show quoteHide quote
> On Jun 18, 12:57 pm, GT <G***@discussions.microsoft.com> wrote:
>
>
>
>
>
> > 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(DbConnectionOptio ns
> > options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection
> > owningObject) +53
>
> > 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

To check (English Windows):

Control Panel - System - Advanced - Environment Variables
Author
18 Jun 2009 3:24 PM
GT
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



Show quoteHide quote
"Alexey Smirnov" wrote:

> On Jun 18, 3:21 pm, Alexey Smirnov <alexey.smir***@gmail.com> wrote:
> > On Jun 18, 12:57 pm, GT <G***@discussions.microsoft.com> wrote:
> >
> >
> >
> >
> >
> > > 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(DbConnectionOptio ns
> > > options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection
> > > owningObject) +53
> >
> > > 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
>
> To check (English Windows):
>
> Control Panel - System - Advanced - Environment Variables
>
Author
18 Jun 2009 6:35 PM
Alexey Smirnov
On Jun 18, 5:24 pm, GT <G***@discussions.microsoft.com> wrote:
Show quoteHide quote
> 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" wrote:
> > On Jun 18, 3:21 pm, Alexey Smirnov <alexey.smir***@gmail.com> wrote:
> > > On Jun 18, 12:57 pm, GT <G***@discussions.microsoft.com> wrote:
>
> > > > 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(DbConnectionOptio ns
> > > > options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection
> > > > owningObject) +53
>
> > > > 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
>
> > To check (English Windows):
>
> > Control Panel - System - Advanced - Environment Variables

glad it works now for you

Bookmark and Share