데이터베이스 연결에 문제가 있으며 코드에 문제가 있는지 궁금합니다. 검토하시기 바랍니다. 이 질문은 관련되어 있습니다 : Switch between databases, use two databases simultaneously 질문. 내가받을거야SQL 서버 데이터베이스에서 데이터를 검색하는 올바른 코드
cs="Data Source=mywebsite.com;Initial Catalog=database;User Id=root;Password=toor;Connect Timeout=10;Pooling='true';"
using (SqlConnection cnn = new SqlConnection(WebConfigurationManager.ConnectionStrings["cs"].ConnectionString))
{
using (SqlCommand cmmnd = new SqlCommand("", cnn))
{
try
{
cnn.Open();
#region Header & Description
cmmnd.Parameters.Add("@CatID", SqlDbType.Int).Value = catId;
cmmnd.CommandText = "SELECT UpperID, Title, Description FROM Categories WHERE [email protected];";
string mainCat = String.Empty, rootCat = String.Empty;
using (SqlDataReader rdr = cmmnd.ExecuteReader())
{
if (rdr.Read())
{
mainCat = rdr["Title"].ToString();
upperId = Convert.ToInt32(rdr["UpperID"]);
description = rdr["Title"];
}
else { Response.Redirect("/", false); }
}
if (upperId > 0) //If upper category exists add its name
{
cmmnd.Parameters["@CatID"].Value = upperId;
cmmnd.CommandText = "SELECT Title FROM Categories WHERE [email protected];";
using (SqlDataReader rdr = cmmnd.ExecuteReader())
{
if (rdr.Read())
{
rootCat = "<a href='x.aspx'>" + rdr["Title"] + "</a> » ";
}
}
}
#endregion
#region Sub-Categories
if (upperId == 0) //show only at root categories
{
cmmnd.Parameters["@CatID"].Value = catId;
cmmnd.CommandText = "SELECT Count(CatID) FROM Categories WHERE [email protected];";
if (Convert.ToInt32(cmmnd.ExecuteScalar()) > 0)
{
cmmnd.CommandText = "SELECT CatID, Title FROM Categories WHERE [email protected] ORDER BY Title;";
using (SqlDataReader rdr = cmmnd.ExecuteReader())
{
while (rdr.Read())
{
subcat.InnerHtml += "<a href='x.aspx'>" + rdr["Title"].ToString().ToLower() + "</a>\n";
description += rdr["Title"] + ", ";
}
}
}
}
#endregion
}
catch (Exception ex) { HasanG.LogException(ex, Request.RawUrl, HttpContext.Current); Response.Redirect("/", false); }
finally { cnn.Close(); }
}
}
랜덤 오류는 다음과 같습니다 서버에 요청을 보낼 때
- 트랜스 수준 오류가 발생했습니다. (공급자 : TCP 공급자, 오류 : 0 - 기존 연결이 원격 호스트에 의해 강제로 닫혔습니다.)
- SQL Server에 연결하는 동안 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스 할 수 없습니다. 인스턴스 이름이 올 바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (공급자 : 명명 된 파이프 공급자, 오류 : 40 - SQL Server에 대한 연결을 열 수 없습니다.)
- 제한 시간이 만료되었습니다. 풀에서 연결을 가져 오기 전에 시간 초과 기간이 경과했습니다. 이는 풀링 된 모든 연결이 사용 중이며 최대 풀 크기에 도달했기 때문에 발생했을 수 있습니다.
- 로그인 요청한 데이터베이스 "db"을 열 수 없습니다. 로그인에 실패했습니다. 'root'사용자가 로그인하지 못했습니다.
무엇이 당신의 질문입니까 ?? – egrunin
코드가 맞고 실수가 있습니까? –
실행하려고하면 어떻게됩니까? 우리는 당신을 위해 그것을 테스트 할 수 없습니다. 또한, 왜 이것이 두 데이터베이스 문제와 관련이 있다고 말합니까? 여기에는 데이터베이스가 하나뿐입니다. – egrunin