开发工具:vs2005 + access2003
在vs2005中点击运行,对数据库的操作都能实现,不存在任何问题
在编写工作完成后,便发布网站,整个过程没有出现任何错误然后我在iis中新建了一个网站(win2003 sp1),浏览时,只要是有操作数据库的页面均出现错误,内容如下:////////////////////////////////////////////////////////////////错误信息开始//////////////////////////“/”应用程序中的服务器错误。
未指定的错误
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误源错误:执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。堆栈跟踪:[OleDbException (0x80004005): 未指定的错误]
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +1054737
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, String srcTable) +83
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1746
System.Web.UI.WebControls.AccessDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +71
System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +96
System.Web.UI.WebControls.ListControl.PerformSelect() +31
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +68
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +61
System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e) +26
System.Web.UI.Control.PreRenderRecursiveInternal() +110
System.Web.UI.Control.PreRenderRecursiveInternal() +193
System.Web.UI.Control.PreRenderRecursiveInternal() +193
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6532////////////////////////////////////////////错误信息结束/////////////////////////////////////////////////////////数据库的链接我使用了两种:
1.自己编写代码链接,链接字段如下:static String dbname = System.Web.HttpContext.Current.Server.MapPath("~/app_data/info.mdb");
static String strConn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + dbname;
2.通过空间accessDataScource自动生成的连接错误出现后,我修改了网站中数据库文件的权限,但是没有任何效果请大虾们不吝赐教……
在vs2005中点击运行,对数据库的操作都能实现,不存在任何问题
在编写工作完成后,便发布网站,整个过程没有出现任何错误然后我在iis中新建了一个网站(win2003 sp1),浏览时,只要是有操作数据库的页面均出现错误,内容如下:////////////////////////////////////////////////////////////////错误信息开始//////////////////////////“/”应用程序中的服务器错误。
未指定的错误
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误源错误:执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。堆栈跟踪:[OleDbException (0x80004005): 未指定的错误]
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +1054737
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, String srcTable) +83
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1746
System.Web.UI.WebControls.AccessDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +71
System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +96
System.Web.UI.WebControls.ListControl.PerformSelect() +31
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +68
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +61
System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e) +26
System.Web.UI.Control.PreRenderRecursiveInternal() +110
System.Web.UI.Control.PreRenderRecursiveInternal() +193
System.Web.UI.Control.PreRenderRecursiveInternal() +193
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6532////////////////////////////////////////////错误信息结束/////////////////////////////////////////////////////////数据库的链接我使用了两种:
1.自己编写代码链接,链接字段如下:static String dbname = System.Web.HttpContext.Current.Server.MapPath("~/app_data/info.mdb");
static String strConn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + dbname;
2.通过空间accessDataScource自动生成的连接错误出现后,我修改了网站中数据库文件的权限,但是没有任何效果请大虾们不吝赐教……
解决方案 »
- ckfinder,怎么动态设置上传路径?
- 请高手帮忙把下面代码转换成ASP.NET C#
- 怎么获取gridview<FooterTemplate>中控件的ID
- 关于数据库连接问题,大家帮帮忙。
- 构架设计,都需要做什么??
- gridviw dataBound事件 有没有对应的eventHandler
- 右框架页面Page_Load()之后,怎么刷新左框架的内容?
- 调查:大家用什么软件来开发asp.net项目?
- 根据不同的地方(IP)显示不同的广告 求好思路
- 怎么实现如TreeView的Nodes属性那样,每添加一个成员,自动为Text属性赋上默认值?
- VS 2003 出现问题,代码不着色,不提示
- 帮看看这段代码有什么问题
我将所有的数据库操作都存放在一个类中类的内容如下:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;namespace My
{
/// <summary>
/// db 的摘要说明
/// </summary>
public class Base
{ static String dbname = System.Web.HttpContext.Current.Server.MapPath("~/app_data/info.mdb");
static String strConn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + dbname; protected static string strSQL; public Base()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// executing SQL commands
/// </summary>
/// <param name="strSQL">string</param>
/// <returns>return int</returns>
protected static int ExecuteSql(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
OleDbCommand myCmd = new OleDbCommand(strSQL, myCn);
try
{
myCn.Open();
myCmd.ExecuteNonQuery();
return 0;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
///executing SQL commands
/// </summary>
/// <param name="strSQL">要执行的SQL语句,为字符串类型string</param>
/// <returns>返回执行情况,整形int</returns>
protected static int ExecuteSqlEx(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
OleDbCommand myCmd = new OleDbCommand(strSQL, myCn); try
{
myCn.Open();
//只能这样创建一个SqlDataReader,因为该类没有公共的构造函数mfq
OleDbDataReader myReader = myCmd.ExecuteReader();
//只调用一次,只能返回一行数据记录
if (myReader.Read())
{
return 0;
}
else
{
throw new Exception("Value Unavailable!");
}
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
/// get dataset
/// </summary>
/// <param name="strSQL">(string)</param>
/// <returns>(DataSet)</returns>
protected static DataSet ExecuteSql4Ds(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
try
{
myCn.Open();
OleDbDataAdapter sda = new OleDbDataAdapter(strSQL, myCn);
DataSet ds = new DataSet("ds");
sda.Fill(ds);
return ds;
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception("查询出错:" + e.Message);
}
finally
{
myCn.Close();
}
}
/// <summary>
/// get single value
/// </summary>
/// <param name="strSQL">(string)</param>
/// <returns>(int)</returns>
protected static int ExecuteSql4Value(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
OleDbCommand myCmd = new OleDbCommand(strSQL, myCn);
try
{
myCn.Open();
object r = myCmd.ExecuteScalar();
if (Object.Equals(r, null))
{
throw new Exception("Value Unavailable!");
}
else
{
return (int)r;
}
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
}
/// <summary>
/// get object
/// </summary>
/// <param name="strSQL">(string)</param>
/// <returns>(object)</returns>
protected static object ExecuteSql4ValueEx(string strSQL)
{
OleDbConnection myCn = new OleDbConnection(strConn);
OleDbCommand myCmd = new OleDbCommand(strSQL, myCn);
try
{
myCn.Open();
object r = myCmd.ExecuteScalar();
if (Object.Equals(r, null))
{
throw new Exception("object unavailable!");
}
else
{
return r;
}
}
catch (System.Data.OleDb.OleDbException e)
{
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}
} }
}
刚刚我将发布好的网站copy到另一台机器上(winXP fat32格式的分区),完全没有问题,看来只是权限的问题了。
那位大虾指导一下,那几个文件权限的配置不合理会产生这样的错误呢。
注:在此之前,我已经考虑到权限的问题,将网站所在的文件夹设为everyone 完全控制