从Web.Config中读取数据库连接字符串的问题

danielliu1211 2005-09-29 09:43:31
我的数据库连接字符串写在web.config文件中,格式如下:
<configuration>
<AppSettings>
<add key="strConn" value="Provider=Microsoft.Jet.OleDb.4.0;Data Source=D:\\DataBase\\XXX.mdb" />
</AppSettings>
</configuration>

我在.cs文件中这样调用
string strConn=ConfigurationSettings.AppSettings["strConn"];

web.config文件和调用它的.cs文件在同一目录下

错误提示:ConnectionString 属性尚未初始化,也就是说没有找到数据库连接字符串

请问我应该怎么处理呢?

谢谢指教!
...全文
1242 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspdotnet2005 2005-09-29
  • 打赏
  • 举报
回复
<add key="DataBaseName" value="database/20050619.mdb"></add>
我这样搞就没问题,我只存储数据库的路径,在一类中做一个返回连接对象的函数
我的web.config在项目的根目录下
danielliu1211 2005-09-29
  • 打赏
  • 举报
回复
我怀疑是我的web.config文件是否在起作用?~~

应该怎么检查呢?
wxw45601 2005-09-29
  • 打赏
  • 举报
回复
<add key="strConn" value="Provider=Microsoft.Jet.OleDb.4.0;Data Source=XXX.mdb" />
如果XXX.mdb和web.config文件在同一目录下的话.
danielliu1211 2005-09-29
  • 打赏
  • 举报
回复
回复:wxw45601()

我的数据库对象建立等操作都是在一个单独的文件中进行的,在这里只是要调用一个getDataSet函数,传递两个参数,一个是strConn,另一个是strSQL
danielliu1211 2005-09-29
  • 打赏
  • 举报
回复
写成一行没有错误,如:

string strConn="Provider=Microsoft.Jet.OleDb.4.0;Data Source=D:\\DataBase\\XXX.mdb";

但是我把上面一行原样拷贝到web.config文件中,如:

<appSettings>
<add key="strConn" value="Provider=Microsoft.Jet.OleDb.4.0;Data Source=D:\\DataBase\\XXX.mdb" />
</appSettings>

再进行调用时,就会提示“ConnectionString 属性尚未初始化”

拷贝到web.config中以后需要修改什么内容吗?
wxw45601 2005-09-29
  • 打赏
  • 举报
回复
string strConn=ConfigurationSettings.AppSettings["strConn"];
OleDbConnection myConnection = new OleDbConnection(strConn);
这样看行不?
h_lj 2005-09-29
  • 打赏
  • 举报
回复
如果你写成二行的话,当然就不对了
h_lj 2005-09-29
  • 打赏
  • 举报
回复
string strConn="Provider=Microsoft.Jet.OleDb.4.0;Data Source=D:\\DataBase\\XXX.mdb";
这样写是肯定是没问题的,不知道你为什么会出错!
danielliu1211 2005-09-29
  • 打赏
  • 举报
回复
如果我把连接字符串写死在变量中的话,即用下面的方式:

string strConn="Provider=Microsoft.Jet.OleDb.4.0";
strConn+=@"Data Source=D:\DataBase\XXX.mdb";

这样是没问题的,就只是从Web.Config中读取过来之后会出现问题
danielliu1211 2005-09-29
  • 打赏
  • 举报
回复
哦,不是,我用的就是System.Data.OleDb
skywatcher 2005-09-29
  • 打赏
  • 举报
回复
ASP.NET和ASP的连接串会略有不同的
skywatcher 2005-09-29
  • 打赏
  • 举报
回复
我觉得应该是数据库不支持这个字符串的问题,
"Provider=Microsoft.Jet.OleDb.4.0;Data Source=D:\\DataBase\\XXX.mdb";
你用的是哪个System.data下面的哪一种连接啊,你如果用SqlClient,是肯定不能支持Provider属性的
danielliu1211 2005-09-29
  • 打赏
  • 举报
回复
有没有可能是我的Web.Config文件放的位置不对呢?

danielliu1211 2005-09-29
  • 打赏
  • 举报
回复
不好意思~我是初学的~~给大家添麻烦了~

还请大家多帮助~~

谢谢 ^o^
lovebaby999 2005-09-29
  • 打赏
  • 举报
回复
你好,不知道你对C语言了解多少。C#是从C语言演变过来的,用“\\”来表示‘\’是转义字符的原因。如果你用C#来定义字符串,有些特殊字符需要用转义字符。
后面的add key...value=...那个我也不清楚
danielliu1211 2005-09-29
  • 打赏
  • 举报
回复
我也是这样写的,然后用

string strConn=ConfigurationSettings.AppSettings["strConn"];调用

名称空间也都导入了~

哭~~
chongachong 2005-09-29
  • 打赏
  • 举报
回复


string strConn=System.Configuration.ConfigurationSettings.AppSettings["strConn"];
zykj_2000 2005-09-29
  • 打赏
  • 举报
回复
<appSettings>
<add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\book\net\test\XDown\DB\XDown.mdb" />
</appSettings>
这我样写没有问题啊
danielliu1211 2005-09-29
  • 打赏
  • 举报
回复
我正在网上找类似的写法,希望能解决问题
good_sun 2005-09-29
  • 打赏
  • 举报
回复
如果用字符串前加个"@"的方式呢?
加载更多回复(9)

62,041

社区成员

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

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

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

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