跪求一个简单的问题!小弟我初次接触企业库有点不解!

BTChinaVeryCD 2009-12-16 03:20:33
初次接触企业库,用的是4.00版的。。在网上收了半天,也没有解决。。
下面给大家发下我的配置文件:

<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
。。。还有很多就不写了
<connectionStrings>
<add name="ConnectionString" connectionString="Database=UserCard;Server=.;Integrated Security=SSPI;uid=sa;pwd=Dy123456"
providerName="System.Data.SqlClient" />
</connectionStrings>


我在后台调用

private readonly string connictonString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();

DatabaseFactory.CreateDatabase(connictonString);


却报了错:

The requested database Database=UserCard;Server=.;Integrated Security=SSPI;uid=sa;pwd=Dy123456 is not defined in configuration.

各位大大们请给出一点指点。。配置文件错在哪了。。应该怎么改呀。。
...全文
216 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
cymandhxl 2009-12-16
  • 打赏
  • 举报
回复
ding
yingxiongmingduan 2009-12-16
  • 打赏
  • 举报
回复
DatabaseFactory.CreateDatabase("ConnectionString");
chengwen2402163 2009-12-16
  • 打赏
  • 举报
回复
连接字符串中的Server=(local);
楼主看来没有看过企业库源码:调用方法为:

//private readonly string connictonString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();//这个就不要了,ADO才用这个

DatabaseFactory.CreateDatabase("ConnectionString");//直接把字符串标识拿过来。



lsd123 2009-12-16
  • 打赏
  • 举报
回复
.
ludeli2004 2009-12-16
  • 打赏
  • 举报
回复
up
Aslangg 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 btchinaverycd 的回复:]

我的是正确的。。我只是截取部分贴上来了,可能有点乱。。
[/Quote]
楼主有没看我13楼写的

那里直接传入你在Web.config中配置的那个"ConnectionString"就可以了
或者加这一段
<dataConfiguration defaultDatabase="ConnectionString"/>
调用时不传参 使用默认的
Database db = DatabaseFactory.CreateDatabase()



然后 不要告诉我你没有引用
BTChinaVeryCD 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 shiguohui000 的回复:]
站起来说话,别动不动就跪!是男人吧?
热心人很多的,大家会帮你的。

不过不好意思,我没用过这东西。
[/Quote]
多谢批评。。
shighui 2009-12-16
  • 打赏
  • 举报
回复
站起来说话,别动不动就跪!是男人吧?
热心人很多的,大家会帮你的。

不过不好意思,我没用过这东西。
BTChinaVeryCD 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 newegg2009 的回复:]
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  ...
  </configSections>
  <connectionStrings>
    <add name="XX" connectionString="Data Source=.;Initial Catalog=JINHAO;User ID=sa" providerName="System.Data.SqlClient"/>
  </connectionStrings>
...
</configuration>
[/Quote]
我的是正确的。。我只是截取部分贴上来了,可能有点乱。。
BTChinaVeryCD 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 bojiansky 的回复:]
HTML code<addname="ConnectionString" connectionString="Database=UserCard;Server=.;Integrated Security=SSPI;uid=sa;pwd=Dy123456"
providerName="System.Data.SqlClient"/>

我没用过2008,但是Server这里好像只有2000用点吧,我之前用2005的时候不能用点。不安全。

你把server改一下。=(local)\实例名。  我觉得错误应该在你这个连接的位置。
[/Quote]
仍然报同样的错误,,,,
  • 打赏
  • 举报
回复
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
...
</configSections>
<connectionStrings>
<add name="XX" connectionString="Data Source=.;Initial Catalog=JINHAO;User ID=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
...
</configuration>
  • 打赏
  • 举报
回复

<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<connectionStrings>
<add name="XX" connectionString="Data Source=.;Initial Catalog=JINHAO;User ID=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
  • 打赏
  • 举报
回复
[CODE]
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<connectionStrings>
<add name="XX" connectionString="Data Source=.;Initial Catalog=JINHAO;User ID=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
[/CODE]
你的<connectionStrings>节点写在<configSections>节点里面还是外面?应该写在外面。是这个原因吗?
qqzeng-ip 2009-12-16
  • 打赏
  • 举报
回复
using Microsoft.Practices.EnterpriseLibrary.Data;  


private Database _db = DatabaseFactory.CreateDatabase("QuickStarts Instance");

qqzeng-ip 2009-12-16
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8"?> 
<configuration>
<configSections>
<section name="dataConfiguration"
type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,
Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" />
</configSections>
<dataConfiguration defaultDatabase="QuickStarts Instance" />
<connectionStrings>
<add name="QuickStarts Instance" connectionString="Data Source=YOURCOMPUTERNAME;Initial
Catalog=EntLibQuickStarts;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Aslangg 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 btchinaverycd 的回复:]
初次接触企业库,用的是4.00版的。。在网上收了半天,也没有解决。。
下面给大家发下我的配置文件:
C# code<configSections><section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
。。。还有很多就不写了<connectionStrings><add name="ConnectionString" connectionString="Database=UserCard;Server=.;Integrated Security=SSPI;uid=sa;pwd=Dy123456"
providerName="System.Data.SqlClient"/></connectionStrings>

我在后台调用
C# codeprivatereadonlystring connictonString= ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();

DatabaseFactory.CreateDatabase(connictonString);

却报了错:
C# code
The requested database Database=UserCard;Server=.;Integrated Security=SSPI;uid=sa;pwd=Dy123456is not definedin configuration.
各位大大们请给出一点指点。。配置文件错在哪了。。应该怎么改呀。。

[/Quote]
DatabaseFactory.CreateDatabase()这里传入的参数是你自己设置的数据库
装了企业库之后 打开Web.config 配置一下就可以了
你这里就改成
DatabaseFactory.CreateDatabase("ConnectionString")
ishgmwyc 2009-12-16
  • 打赏
  • 举报
回复
connectionString="Database=UserCard;Server=(local);uid=sa;pwd=Dy123456"
providerName="System.Data.SqlClient"
bojiansky 2009-12-16
  • 打赏
  • 举报
回复
<add name="ConnectionString" connectionString="Database=UserCard;Server=.;Integrated Security=SSPI;uid=sa;pwd=Dy123456"
providerName="System.Data.SqlClient" />


我没用过2008,但是Server这里好像只有2000用点吧,我之前用2005的时候不能用点。不安全。

你把server改一下。=(local)\实例名。 我觉得错误应该在你这个连接的位置。
BTChinaVeryCD 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 songbb123 的回复:]
顶下,看看是不是放错节点位置了
[/Quote]
没有,放错会出警告的。。
BTChinaVeryCD 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bojiansky 的回复:]
HTML code<connectionStrings><addname="con" connectionString="server=(local)\DB2005;uid=sa;pwd=sasa;database=MyOfficeData"/></connectionStrings>

C# codestring str= ConfigurationManager.ConnectionStrings["con"].ConnectionString;

对比一下。这是没错的。
[/Quote]
没有问题呀,我用的是sql2008,并且我用.号登陆数据库管理工具,可以成功。
加载更多回复(8)

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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