|
.net
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
OLEDB unknown error in ASP.NETASP.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 On Jun 18, 12:57 pm, GT <G***@discussions.microsoft.com> wrote:
Show quoteHide quote > Hello Hallo,> > 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 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 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: To check (English Windows):> > > > > > > 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 Control Panel - System - Advanced - Environment Variables 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 > On Jun 18, 5:24 pm, GT <G***@discussions.microsoft.com> wrote:
Show quoteHide quote > Hello, glad it works now for you> > 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
Other interesting topics
|
|||||||||||||||||||||||