프로그래밍/ASP.NET2010. 5. 6. 11:35

EnterPriseLibrary 사용시 아래와 같은 에러가 날시

The requested database BlogDB does not have provider name set in the connection string.


Web.Config 파일에 providerName 들어가 있는지 확인한다.

<connectionStrings>

<!-- 데이터 베이스 연결 문자열-->

<add name="ConnectionString" connectionString="Data Source=(local);Initial catalog=DB명;user id=사용자ID;password=사용자패스워드;" providerName="System.Data.SqlClient" />

<!-- /데이터 베이스 연결 문자열-->

</connectionStrings>

Posted by TikTak!
1차시 멀티미디어의 개념
멀티미디의 정의는 Multi
[각주:1]+ Media[각주:2]의 합성어다중매체 혹은 다매체라는 의미를 지님

#관점에 따른 멀티미디어의 정의
-다중매체 통합을 강조하는 관점 : 문자정보, 음성, 정지화상, 동화상 등과 같은 다양한 정보미디어를 하나의 개체로 통합시켜 컴퓨터 기기와 인간의 상호작용을 가능케 하는 새로운 통합시스템
-대용량 기록의 저장장치를 강조하는 관점 :  기록물 형태를 가진 두개 이상의 디지털 미디어[각주:3] 요소 들의 결합
  1. "많다" 혹은 "다수(Many)"의 뜻을 가진 연결형 [본문으로]
  2. Medium(Singular) - Media(Plural) 매개체라는 의미 [본문으로]
  3. 텍스트, 사운드, 이미지, 비디오, 애니메이션, 컴퓨터 [본문으로]
Posted by TikTak!
프로그래밍/ASP.NET2010. 4. 18. 23:09

 

SqlConnection objCon = new SqlConnection();

objCon.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

objCon.Open();

        if (objCon.State == ConnectionState.Open)

        {

            Response.Write("연결성공");

        }

        else

        {

            Response.Write("실패");

            Response.End();

        }



Posted by TikTak!
프로그래밍/MS-SQL2010. 4. 18. 23:08

**MS-SQL .bak 파일복원**


RESTORE DATABASE gootooc--데이터베이스명

FROM DISK = 'D:\gootooc.bak'--.bak 파일명

WITH MOVE 'gootooc'

TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\gootooc.mdf'--.mdf 파일명 위치

,

MOVE 'gootooc_log'

TO 'C:\ProgramFiles\Microsoft SQL Server\MSSQL.1\MSSQL\Data\gootooc_log.ldf'--.ldf 파일명 위치


Posted by TikTak!
프로그래밍/ASP2010. 4. 18. 23:07

 <%

    file = Request("file") ' 파일명받아옴

    Response.ContentType = "application/unknown"

    Response.AddHeader "Content-Disposition","attachment; filename=" & file

 

    Set objStream = Server.CreateObject("ADODB.Stream")

    objStream.Open

    objStream.Type = 1

    objStream.LoadFromFile Server.MapPath("..")&"\files\"& file

    download = objStream.Read

    Response.BinaryWrite download

 

    Set objstream = nothing

%>

'프로그래밍 > ASP' 카테고리의 다른 글

[ASP] ASP에서 XMLHTTP이용시 한글깨짐 처리  (0) 2010.04.18
Posted by TikTak!
프로그래밍/MS-SQL2010. 4. 18. 23:06

USE test --복원한DB

GO

EXEC SP_CHANGE_USERS_LOGIN 'UPDATE_ONE','testuser', 'testuser' -- testuser = 사용자계정


'프로그래밍 > MS-SQL' 카테고리의 다른 글

[MS-SQL] .bak 파일 복원 스크립트  (0) 2010.04.18
[MS-SQL] SET NOCOUNT ON & SET XACT_ABORT ON  (0) 2010.04.18
[MS-SQL] ALTER TABLE 예시문  (0) 2010.04.18
Posted by TikTak!
프로그래밍/MS-SQL2010. 4. 18. 23:05

1.SET NOCOUNT ON | OFF

- 저장프로시저에서 NOCOUNT ON 으로 했을시 "n개의 행이 적용되없습니다." 표시하지 않음

- 클라이언트와 통신이 줄어 들어 속도향상이 있음


2.SET XACT_ABORT ON | OFF

- INSERT, UPDATE, DELETE 구문 중 하나에서 런타임에 오류가 발생하면 전체 트랜잭션을 취소함

- INSERT, UPDATE, DELETE가 하나에 여러구문을 실행할때  @@ERROR 로 체크하지 않아도  된다.


Posted by TikTak!
프로그래밍/MS-SQL2010. 4. 18. 23:03

--## ALTER TABLE 예시문

[1] COLUMN
[2] PRIMARY KEY
[3] FOREIGN KEY
[4] DEFAULT
[5] INDEX(CREATE 문) 

--// POSTS TABLE 생성

CREATE TABLE POSTS

(

       [UID] INT IDENTITY(1,1) NOT NULL

,      [TITLE] VARCHAR(20) NOT NULL

)

GO

 

--// CATEGORY TABLE 생성

CREATE TABLE CATEGORY

(

       [UID] INT IDENTITY(1,1) NOT NULL

,      [POST] INT NOT NULL

,      [TITLE] VARCHAR(20) NOT NULL

)

GO

 

--// [1] COLUMN 추가

ALTER TABLE [POSTS]

ADD [REGDATE] SMALLDATETIME NOT NULL

GO

ALTER TABLE [CATEGORY]

ADD [REGDATE] SMALLDATETIME NOT NULL

GO

 

--// [2] PRIMARY KEY 추가

ALTER TABLE [POSTS] ADD

       CONSTRAINT [PK_posts] PRIMARY KEY CLUSTERED

       (

             [UID]

       ) ON [PRIMARY]

GO

ALTER TABLE [CATEGORY] ADD

       CONSTRAINT [PK_category] PRIMARY KEY NONCLUSTERED

       (

             [UID]

       ) ON [PRIMARY]

GO

 

--// [3] FOREIGN KEY 추가

ALTER TABLE [CATEGORY] ADD

       CONSTRAINT [FK_category_posts] FOREIGN KEY([POST])

       REFERENCES [POSTS]([UID])

       ON UPDATE CASCADE

       ON DELETE CASCADE

GO

 

--// [4] DEFUALT 추가

ALTER TABLE [POSTS] ADD

       CONSTRAINT [DF_posts_regdate] DEFAULT(GETDATE())

       FOR [REGDATE]

GO    

ALTER TABLE [CATEGORY] ADD

       CONSTRAINT [DF_category_regdate] DEFAULT(GETDATE())

       FOR [REGDATE]

GO

 

--// [5] INDEX 추가

CREATE NONCLUSTERED INDEX IX_POSTS_REGDATE

ON [POSTS]([REGDATE])

GO

CREATE CLUSTERED INDEX IX_POSTS_REGDATE

ON [CATEGORY]([REGDATE])

Posted by TikTak!
프로그래밍/ASP.NET2010. 4. 18. 23:03

viewstate MAC에 대한 유효성 검사가 실패했습니다. 웹 팜 또는 클러스터에서 이 응용 프로그램을 호스팅하는 경우에는 <machineKey> 구성에 동일한 validationKey와 유효성 검사 알고리즘을 지정해야 합니다. 클러스터에서는 AutoGenerate를 사용할 수 없습니다.

설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오.

예외 정보: System.Web.HttpException: viewstate MAC에 대한 유효성 검사가 실패했습니다. 웹 팜 또는 클러스터에서 이 응용 프로그램을 호스팅하는 경우에는 <machineKey> 구성에 동일한 validationKey와 유효성 검사 알고리즘을 지정해야 합니다. 클러스터에서는 AutoGenerate를 사용할 수 없습니다.


ASP.NET 에서 POST 방식으로 넘길때 난 에러
조치사항
- web.config 파일에
안에 <pages> enableViewStateMac ="false" 추가로 해결

- web.config-

<pages enableViewStateMac ="false">

<controls>

<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

</controls>

</pages>



Posted by TikTak!
프로그래밍/ASP.NET2010. 4. 18. 23:01

#테스트 조건
  - 서버컨트롤을 이용 안 한다.(<asp:button> ---> <input type="button"> 이용)
  - cs(CodeFile)은 이용한다 그로 인해 input attribute에 runat="server" 지정함
  - a.aspx 에서 b.aspx로 form태그의 post 방식을 이용해 값을 넘긴다.
  - a.aspx는 사용자 UI페이지, b.aspx는 DB처리 페이지이다.
  - b.aspx에서 db단 처리를 한후 a.aspx로 리턴값을 주면 그페이지를 view 페이지로 테스트한다.
 

- a.aspx
 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="a.aspx.cs" Inherits="a" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

    <script type="text/javascript">

    //<![CDATA[

        function check_form() {

            var frm = document.getElementsByTagName("form").item(0);

            var name = document.getElementById("sName");

            var title = document.getElementById("sTitle");

            var content = document.getElementById("sContent");

 

            if (name.value == "") {

                alert("이름을 입력하세요");

                name.focus();

                return false

            }

 

            if (title.value == "") {

                alert("제목을 입력하세요");

                title.focus();

                return false

            }

 

            if (content.value == "") {

                alert("내용을 입력하세요");

                content.focus();

                return false

            }

 

            frm.action = "b.aspx";

            frm.submit();

        }

    //]]

    </script>

</head>

<body>

    <form id="form1" action="" method="post" runat="server">

    <div>

    이름:<input type="text" id="sName" name="sName" value="" runat="server" /><br />

        제목:<input type="text" id="sTitle" name="sContent" value="" /><br />

        내용:<textarea id="sContent" name="sContent" cols="30" rows="10" ></textarea>

    <input type="image" id="btn_write" name="btn_write" onclick="return check_form();" value="저장" />

        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

       

        <asp:GridView ID="grview" runat="server">

        </asp:GridView>

    </div>

    </form>

</body>

</html>


- a.aspx.cs
 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data.SqlClient;

using System.Data;

using System.Configuration;

 

public partial class a : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        int result = Convert.ToInt32(Request["result"]);

        Response.Write(result);

        //Response.End();

        if (result == 1)

        {

            readData();

        }

    }

 

    private void readData()

    {

        string strSql = "Select * from test";

        SqlConnection mycon = new SqlConnection();

        mycon.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

        mycon.Open();

        SqlCommand mycmd = new SqlCommand();

        mycmd.Connection = mycon;

        mycmd.CommandText = strSql;

        mycmd.CommandType = CommandType.Text;

        //SqlDataAdapter myadt = new SqlDataAdapter();

        //myadt.c

        //SqlDataReader mydr= mycmd.ExecuteReader();

        //if (mydr.Read())

        //{

         //   this.sName.Value = Convert.ToString(mydr["name"]);

        //}

        //mydr.Close();

        SqlDataAdapter myadp = new SqlDataAdapter();

        DataSet ds = new DataSet();

        myadp.SelectCommand = mycmd;

        myadp.Fill(ds, "test");

        this.grview.DataSource = ds;

        grview.DataBind();

        mycon.Close();

        string referer = Request.UrlReferrer.ToString();

        this.sName.Value = referer;

 

}

}


b.aspx
 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

    <input type="hidden" id="result" name="result" value="" runat="server" />

    </div>

    </form>

</body>

</html>


b.aspx.cs
 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data.Sql;

using System.Data;

using System.Data.SqlClient;

using System.Configuration;

 

public partial class b : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        string sName = Request.Params["sName"];

        string sTitle = Request.Form["sTitle"];

        string sContent = Request.Form["sContent"];

        string strSql = string.Format("INSERT INTO TEST(name,title,content) VALUES('{0}','{1}','{2}')",sName,sTitle,sContent);

 

        SqlConnection mycon = new SqlConnection();

        mycon.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

        SqlCommand mycmd = new SqlCommand();

        mycmd.Connection = mycon;

        mycmd.CommandType = CommandType.Text;

        mycmd.CommandText = strSql;

        mycon.Open();

        mycmd.ExecuteNonQuery();

        mycon.Close();

       

        this.result.Value = "1";

        string strURL = Convert.ToString(Request.UrlReferrer);

        strURL = strURL.Substring(strURL.LastIndexOf("/")+1);

        Server.Transfer(strURL);

    }

}

 


Posted by TikTak!