为什么我的access数据库总连接不成功啊,这有错误代码,帮我看一下

tempkiller 2004-03-14 09:26:48
用户 's' 登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 用户 's' 登录失败。

源错误:


行 41: Dim myconnection As OleDb.OleDbConnection = New OleDb.OleDbConnection("provider=sqloledb.1;data source=localhost;uid=s;pwd=;initial catalog=db2.mdb")
行 42: Dim mycommand As OleDb.OleDbCommand = New OleDb.OleDbCommand("select * from t1", myconnection)
行 43: myconnection.Open()
行 44: Dim dr As OleDb.OleDbDataReader = mycommand.ExecuteReader()
行 45: DataGrid1.DataSource = dr


源文件: c:\inetpub\wwwroot\cz\WebForm1.aspx.vb 行: 43

堆栈跟踪:


[OleDbException (0x80040e4d): 用户 's' 登录失败。]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
cz.WebForm1.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\cz\WebForm1.aspx.vb:43
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()


还有为什么连acces数据库时点测试连接出现“测试连接失败,因为初始化提供程序时发生错误[MICROSOFT][ODBC microsoft access griver]找不到文件'(未知的)'”,我是直接把把初始目录添里的,要不然提示登陆失败,无法检索目录信息

还有个奇怪的问题,我如果不启动的sql服务而直接连access数据库出现“没有找到VSNAPI32.dll,因此这个应用程序不能启动,重新安装可能会修复”的提示,我真的好困惑啊
...全文
483 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
PingJie 2004-03-14
  • 打赏
  • 举报
回复
OleDbConnection cn=new OleDbConnection();
cn.ConnectionString="Provider=Microsoft.JET.OleDb.4.0;Data Source="+System.Web.HttpContext.Current.Server.MapPath("news1.mdb")+";User Id=;Password=;";
cn.Open();
这是.net里的 你的数据库连接字符串明显错了
gbliang 2004-03-14
  • 打赏
  • 举报
回复
provider=sqloledb.1改为Provider=Microsoft.Jet.OLEDB.4.0,或者s的密码不是空
weiming28cn 2004-03-14
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/Read_Article.asp?Id=22580
yxred 2004-03-14
  • 打赏
  • 举报
回复
如你的ACCESS
数据库没有密码用:
行 41: Dim myconnection As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db2.mdb;")
wggwan 2004-03-14
  • 打赏
  • 举报
回复
在web.config中先配置数据库:
<appSettings>
<!--连接数据库代码-->
<add key="ds" value="database\storage_manage.mdb" />
</appSettings>
连接数据库代码:
cn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(ConfigurationSettings.AppSettings["ds"]));
hlsky 2004-03-14
  • 打赏
  • 举报
回复
sjzwinfor 2004-03-14
  • 打赏
  • 举报
回复
"provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\database\\gjgldb.mdb;Jet OLEDB:Database Password='LJZHXY';Persist Security Info=False".估计你把SQL和ACCESS混了
saucer 2004-03-14
  • 打赏
  • 举报
回复
try a connection like

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;"

see
http://www.connectionstrings.com/
tempkiller 2004-03-14
  • 打赏
  • 举报
回复
?怎么给分?
tempkiller 2004-03-14
  • 打赏
  • 举报
回复
终于解决了,再次感谢,给分啦
楼上的看这里
http://expert.csdn.net/Expert/topic/2443/2443100.xml?
ShengNet 2004-03-14
  • 打赏
  • 举报
回复
兄弟,我终于找到同病相连的了。和我的出的问题一模一样。

你是系统是2000 server吗?

我在2000 server也遇到上述的问题,没法解决。

但我在xp下没什么问题。

关注.............
tempkiller 2004-03-14
  • 打赏
  • 举报
回复
再看这个
不能使用 '';文件已在使用中。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 不能使用 '';文件已在使用中。

源错误:


行 21: sql="select * from t1"
行 22: Dim mycommand As OleDb.OleDbCommand = New OleDb.OleDbCommand(sql,conn)
行 23: conn.Open()
行 24: Dim dr As OleDb.OleDbDataReader = mycommand.ExecuteReader()
行 25: DataGrid1.DataSource = dr


源文件: c:\inetpub\wwwroot\cz\WebForm1.aspx 行: 23

堆栈跟踪:


[OleDbException (0x80004005): 不能使用 '';文件已在使用中。]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
ASP.WebForm1_aspx.__RenderForm1(HtmlTextWriter __output, Control parameterContainer) in c:\inetpub\wwwroot\cz\WebForm1.aspx:23
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.Control.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Page.ProcessRequestMain()


我的代码
Dim conn As OleDb.OleDbConnection = Nothing
Dim connstr,sql As String
connstr = "provider=microsoft.jet.oledb.4.0;data source=C:\\Inetpub\\wwwroot\\cz\\db2.mdb"
conn = New OleDb.OleDbConnection(connstr)
sql="select * from t1"
Dim mycommand As OleDb.OleDbCommand = New OleDb.OleDbCommand(sql,conn)
conn.Open()
Dim dr As OleDb.OleDbDataReader = mycommand.ExecuteReader()
DataGrid1.DataSource = dr
DataGrid1.DataBind()
conn.Close()

写错了吗
tempkiller 2004-03-14
  • 打赏
  • 举报
回复
首先感谢各位的回答
按照大家说的我改了后又出现如下错误代码

“/cz”应用程序中的服务器错误。
--------------------------------------------------------------------------------

无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
帮我分析一下到底那里出错了,其他地方是不是还有需要设置的地方啊



异常详细信息: System.Data.OleDb.OleDbException: 无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。

源错误:


行 20: conn = New OleDb.OleDbConnection(connstr)
行 21: Dim mycommand As OleDb.OleDbCommand = New OleDb.OleDbCommand("select * from t1", conn)
行 22: conn.Open()
行 23: Dim dr As OleDb.OleDbDataReader = mycommand.ExecuteReader()
行 24: DataGrid1.DataSource = dr


源文件: c:\inetpub\wwwroot\cz\WebForm1.aspx 行: 22

堆栈跟踪:


[OleDbException (0x80040e4d): 无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
ASP.WebForm1_aspx.__RenderForm1(HtmlTextWriter __output, Control parameterContainer) in c:\inetpub\wwwroot\cz\WebForm1.aspx:22
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.Control.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Page.ProcessRequestMain()


caojingui 2004-03-14
  • 打赏
  • 举报
回复
是的,数据库连接弄错了
zpisgod 2004-03-14
  • 打赏
  • 举报
回复
sqloledb怎么可能连接到access数据库呢? 楼主弄错了

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧