我刚刚开始使用企业库5数据访问应用程序块,但我一直在尝试登录失败错误。
我已经尝试了没有应用程序块的连接字符串,并且连接打开正常,但只要我在应用程序块中使用相同的连接字符串就会失败。
我使用DAAB的代码如下:
public List<AgentInfo> GetAgents()
{
Database db = EnterpriseLibraryContainer.Current.GetInstance<Database>("LBDashData");
string sql = "Users_GetUsers";
DbCommand cmd = db.GetStoredProcCommand(sql);
List<AgentInfo> oAgents = new List<AgentInfo>();
using (IDataReader dataReader = db.ExecuteReader(cmd))
{
while (dataReader.Read())
{
AgentInfo oAgent = new AgentInfo();
oAgent.ItemID = Convert.ToInt32( dataReader["ItemID"].ToString());
oAgent.ParentID = Convert.ToInt32(dataReader["ParentID"].ToString());
oAgent.TeamID = Convert.ToInt32(dataReader["TeamID"].ToString());
oAgent.Team = dataReader["Team"].ToString();
oAgent.AgentName = dataReader["AgentName"].ToString();
oAgent.NodeType = dataReader["NodeType"].ToString();
oAgents.Add(oAgent);
}
}
return oAgents;
}
我在配置中的连接字符串设置如下:
<connectionStrings><add name="LBDashData" connectionString="Data Source=(local);Initial Catalog=LBDash;Persist Security Info=True;User id=<userid>;password=<password>" <providerName="System.Data.SqlClient" /></connectionStrings>
如果我使用以下代码尝试相同的连接字符串,则可以使用
public bool testConn ()
{
SqlConnection oconn = new SqlConnection("Data Source=(local);Initial Catalog=LBDash;Persist Security Info=True;User id=<userid>;password=<password>");
try
{
oconn.Open();
return true;
}
catch
{
return false;
}
finally
{
oconn.Close();
}
}
有没有人有什么想法我接下来可以尝试?
答案 0 :(得分:0)
找到问题的解决方案:)
&lt; 羞愧地垂头丧气&gt;
我在存储过程中使用链接服务器的表,一旦我为链接服务器设置了正确的模拟,生活就再好了。