小弟刚开始接触asp.net,要将数据库中的数据导出然后写到xml中,但是不知道怎么回事老是连不上数据库,数据库一开始用sqlserver,后来用access也连不上。以下是webform1.aspx.vb中的代码
用控件了的:
Dim myDataGrid As DataGrid
OleDbConnection1.Open()
OleDbDataAdapter1.Fill(DsStu1, "stu")
DsStu1.WriteXml("c:\t.xml")
myDataGrid.DataSource = DsStu1
myDataGrid.DataMember = "stu"
myDataGrid.DataBind()
OleDbConnection1.Close()出现的错误:
“/data4”应用程序中的服务器错误。
--------------------------------------------------------------------------------Microsoft Jet 数据库引擎打不开文件'C:\stu.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件'C:\stu.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。源错误:
行 108: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
行 109: Dim myDataGrid As DataGrid
行 110: OleDbConnection1.Open()
行 111: OleDbDataAdapter1.Fill(DsStu1, "stu")
行 112: DsStu1.WriteXml("c:\t.xml")
源文件: c:\inetpub\wwwroot\data4\WebForm1.aspx.vb 行: 110 堆栈跟踪:
[OleDbException (0x80004005): Microsoft Jet 数据库引擎打不开文件'C:\stu.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
data4.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\data4\WebForm1.aspx.vb:110
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
用控件了的:
Dim myDataGrid As DataGrid
OleDbConnection1.Open()
OleDbDataAdapter1.Fill(DsStu1, "stu")
DsStu1.WriteXml("c:\t.xml")
myDataGrid.DataSource = DsStu1
myDataGrid.DataMember = "stu"
myDataGrid.DataBind()
OleDbConnection1.Close()出现的错误:
“/data4”应用程序中的服务器错误。
--------------------------------------------------------------------------------Microsoft Jet 数据库引擎打不开文件'C:\stu.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件'C:\stu.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。源错误:
行 108: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
行 109: Dim myDataGrid As DataGrid
行 110: OleDbConnection1.Open()
行 111: OleDbDataAdapter1.Fill(DsStu1, "stu")
行 112: DsStu1.WriteXml("c:\t.xml")
源文件: c:\inetpub\wwwroot\data4\WebForm1.aspx.vb 行: 110 堆栈跟踪:
[OleDbException (0x80004005): Microsoft Jet 数据库引擎打不开文件'C:\stu.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
data4.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\data4\WebForm1.aspx.vb:110
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
还是自己解决了
在“asp.net应用程序”中实现从数据库中读数据再写到xml文档中较麻烦,需要设置文件的写访问权限,否则会出现如所附html中的错误,解决方法如下:
在“工具-〉文件夹选项”中将“使用简单文件共享”取消,然后在生成xml文档的地方,新创建一个student.xml,然后右键选择“安全”选项,选择“添加-〉高级-〉立即查找”,再选中“ASPNET”,将“写入”权限勾上。