블로그 이미지
정홍주
Azure에 대한 내용뿐만 아니라 새로운 트렌드로 빅데이터, BI, SharePoint, 앱 등의 내용을 다룹니다.

calendar

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Notice

2011.05.13 08:30 Microsft Azure/SQL Databases

SQL Azure 데이터 이용(1) 

SQL Azure 에 데이터를 이전했고 로컬 응용프로그램에서 데이터를 이용하는 내용을 알아보도록 하겠습니다.

VS 2010을 이용해서 Windows Forms 응용 프로그램을 생성합니다. 이를 통해 클라우드에 있는 SQL Azure 데이터를 로컬 응용 프로그램에서 나타내보도록 하겠습니다.

시작하기 전에 결론은 C#을 이용해 ADO.NET으로 똑같이 액세스할 수 있다는 것입니다. 연결 문자열만 달라지며 Azure 방화벽 외에는 동일하다는 것입니다.

Windows Forms 응용 프로그램을 생성합니다.


간단한 Form 디자인을 아래와 같이 합니다. ComboBox DataGridView 를 통해 데이터를 나타내보도록 하겠습니다. 

데이터베이스 액세스를 위해 Enterprise Library 5.0을 이용할 것이며 참조 추가를 통해 관련 어셈블리를 추가합니다.
(Microsoft.Practices.EnterpriseLibrary.Common, Microsoft.Practices.EnterpriseLibrary.Data)

데이터 액세스를 위한 연결 문자열은 App.config에 아래와 같이 구성합니다.

<connectionStrings>

    <add name="sqlazure1" connectionString="Data Source=SQLAzure서버이름;User ID=사용자계정;Password=비밀번호;Initial Catalog=AdventureWorksLTAZ2008R2" providerName="System.Data.SqlClient"/>

  </connectionStrings>

 

 

데이터액세스를 위한 클래스를 추가합니다. 클래스 이름은 clsProduct으로 지정합니다.

ProductSubCategory 리스트와 SubCategory Product 리스트를 반환하는 메서드를 아래와 같이 정의합니다.

public DataSet GetProducts(string ProductCategoryID)

{

DataSet ds = new DataSet();

 

Database db = DatabaseFactory.CreateDatabase("sqlazure1");

string spName = "[SalesLT].[usp_GetProductByCategoryID]";

DbCommand cmd = db.GetStoredProcCommand(spName);

db.AddInParameter(cmd, "ProductCategoryID", DbType.Int32, ProductCategoryID);

ds = db.ExecuteDataSet(cmd);

 

return ds;

}

 

Form1.cs로 이동하여 아래와 같이 필드를 선언하고 InitializeComponent 아래에 코드를 작성합니다. ComboBox SQL Azure의 데이터를 나타내는 내용입니다.

public partial class Form1 : Form

    {

        clsProduct product = new clsProduct();

        public Form1()

        {

            InitializeComponent();

 

            cbSubCategory.DataSource = product.GetProductSubCategory().Tables[0];

            cbSubCategory.DisplayMember = "Name";

            cbSubCategory.ValueMember = "ProductCategoryID";

 

            GetProducts();

        }

 

또한 ComboBox SelectedIndexChanged 이벤트를 발생시켜 아래와 같이 코드를 작성합니다.

private void cbSubCategory_SelectedIndexChanged(object sender, EventArgs e)

        {

            GetProducts();

 

        }

 

GetProducts 메서드는 Products 리스트를 얻어 오는 내용이며 아래와 같이 코드를 작성합니다.

private void GetProducts()

        {

            dataGridView1.DataSource = product.GetProducts(cbSubCategory.SelectedValue.ToString()).Tables[0];

        }

 

프로젝트를 실행해서 결과를 확인합니다. 

이상에서 보았듯이 로컬의 응용프로그램에서 SQL Azure를 액세스하는 것은 별다른 내용 없이 로컬에 있는 SQL 데이터를 액세스하는 것과 동일합니다.

 

신고

'Microsft Azure > SQL Databases' 카테고리의 다른 글

SQL Azure 데이터 이용(3)  (0) 2011.05.27
SQL Azure 데이터 이용(2)  (0) 2011.05.20
SQL Azure 데이터 이용(1)  (0) 2011.05.13
SQL Azure Sample Database 설치  (0) 2011.04.27
SQL Azure Update (3)  (0) 2011.02.18
SQL Azure Update (2)  (0) 2011.02.11
posted by 정홍주
2011.03.04 08:30 Microsft Azure

Account Key 생성이 끝났으므로 데이터를 구독하고 브라우저에서 데이터를 탐색이 가능합니다. 또한 다양한 인터페이스를 이용해서 데이터 솔루션을 구축 가능합니다.

자 이제 왼쪽 Statistics 메뉴를 클릭하거나 검색에서 “Gender Info 2007”을 검색하여 아래 화면이 표시되게 합니다.



해당 링크나 이미지를 클릭하여 보다 더 자세한 정보를 확인합니다.



해당 데이터가 원하는 데이터라면 SIGN UP 을 눌러 구독을 신청합니다. 구독 신청 페이지에서는 동의함을 체크하고 SIGN UP 을 눌러 구독을 완료합니다.

구독을 완료하였습니다. 데이터 집합을 액세스 할 수 있는 방법은 아래와 같이 4 가지가 있다는 것을 아래 화면에서 확인할 수 있습니다.

l  DataMarket Service Explorer

l  Excel PowerPivot

l  Tableau Software

l  Visual Studio 2010



My Data 메뉴를 클릭하면 구독 데이터를 확인할 수 있습니다.



이제까지 했던 것을 요약하면 DataMarket에 가입을 하고 My Account Key를 생성하고 카테고리에서 특정 데이터를 구독했습니다.

여러 방법을 통해 데이터 집합을 살펴볼 수 있지만 여기서는 DataMarket Service Explorer에서 액세스해보도록 하겠습니다.

My Data 메뉴에 있는 구독 데이터 들 중에서 하나를 선택해서 링크를 클릭하면 아래와 같은 화면을 볼 수 있습니다.



화면에서 Explore this Dataset” 링크를 클릭합니다. 그러면 새 창이 열리면서 DataMarket service explorer 에서 데이터 집합을 바로 직접 액세스할 수 있습니다. 

 쿼리 집합을 수정하여 데이터를 쿼리 해보도록 하겠습니다. 직접 웹에서 결과를 Table, atom Pub 포맷으로 살펴볼 수 있는 것이 DataMarket Service Explorer 이며 Query 드롭 다운에서 Values를 선택하고 CountryName“Korea Rep”, Year“2005”을 입력해서 “RUN Query” 메뉴를 클릭하면 아래와 같은 결과를 알 수 있습니다.

다른 인터페이스를 통해 DataMarket을 처리하는 것을 이후에서 다뤄보도록 하겠습니다.
신고
posted by 정홍주
2011.02.25 08:30 Microsft Azure

“Dallas” 라는 코드네임으로 불리던 부분이 DataMarket 이란 이름으로 작년 말에 출시되었는데 여기서 소개를 드리도록 하겠습니다. 몇몇 화면과 Account Key를 생성하는 것을 알아보도록 하겠습니다.

DataMarket 을 액세스하려면 아래 주소로 액세스 할 수 있습니다.

https://datamarket.azure.com/



분석을 위한 데이터를 클라우드 서비스를 통해 얻을 수 있는 데이터 시장이 DataMarket 이며 콘텐트 파트너는 데이터를 DataMarket에 게시하고 사용자들은 손쉽게 데이터를 찾고 구독하며 활용할 수 있습니다. 또한 개발자들은 기본적으로 제공되는 여러 표준을 통해 강력한 데이터 솔루션을 개발 할 수 있습니다.

 

Learn 메뉴에서 보면 다운로드나 비디오 등을 통해서 DataMarket의 이해가 보다 더 용이하니 링크를 클릭해보셔요~

Browse 탭을 클릭해보면 다양한 카테고리별로 데이터들이 나열된 것을 확인할 수 있습니다. 


DataMarket
Application에서 이용하기 위해서는 먼저 Account Key를 생성해야 합니다. 그래서 상단의 Register 메뉴를 클릭하고 정보를 입력해서 가입을 합니다. 물론 먼저 Windows Live ID로 로그인해야 합니다.



사용 동의에 대해서는 체크를 하고 Register 버튼을 클릭합니다.


가입을 하고 나서는 상단의 My Account 링크를 클릭하면 아래와 같은 화면을 볼 수 있고 Account Keys에서 PowerPivot 등에서 사용할 새로운 Account Key를 생성할 수 있습니다. 


Add account Key
메뉴를 클릭하여 새로운 키를 생성합니다. Description에 적절한 이름을 입력하고 Create 버튼을 클릭합니다.



My Account의 Account Keys에 보면 새롭게 생성된 것을 확인 가능합니다.

자 이제 Browse 메뉴를 클릭해서 데이터를 구독하고 다양한 표준 인터페이스를 통해 데이터 솔루션에서 이용할 수 있습니다.

데이터를 구독하고 활용하는 것은 다음 블로그에서...,

신고
posted by 정홍주
2011.01.23 22:18 Microsft Azure/SQL Databases
UPDATE 다른 곳에 썻던 내용을 이곳에 통합하기 위해 옮겼습니다.


Excel 2010 PowerPivot은 별도의 Add-in을 설치하면 Excel 2010에서 사용할 수 있는 도구입니다.

아래의 사이트에서 다음과 같은 내용을 얘기하고 있습니다.

http://www.powerpivot.co.kr/

 

PowerPivot for Excel은 많은 사용자들을 확보하고 있는 Microsoft Excel 내에서 가히 독보적인 연산 능력을 직접 발휘할 수 있도록 하는 데이터 분석 도구입니다. Office와 동일한 사용자 인터페이스, 피벗 테이블 및 피벗 차트 보기, 슬라이서 등과 같이 이미 잘 알고 있는 Excel 기능을 사용하여 손쉽게 데이터를 분석할 수 있습니다.

 

제가 말씀드릴 내용은 SQL Azure의 데이터를 Excel 2010 PowerPivot에서도 문제없이 접근할 수 있다는 것입니다.

아래 그림은 PowerPivot 창의 화면입니다.

*PowerPivot 탭은 PowerPivot을 설치해야 나옵니다.

 

[외부 데이터 가져오기] 그룹의 기타 원본을 클릭하면 아래와 같이 SQL Azure에 대한 내용을 볼 수 있습니다.



SQL Azure를 선택하고 서버이름과 인증 정보, 데이터베이스를 선택합니다.

(SQL Azure의 방화벽이 설정되어 있어야 연결할 수 있습니다.)



SQL Azure에 있는 테이블을 선택합니다. 여기서는 CategorySubCategory 를 선택합니다. 그리고 클라우드가 아닌 로컬 네트워크에 있는 Product 테이블을 선택해서 관계를 적용할 것입니다.로컬 네트워크의 테이블과 연결하는 것은 PowerPivot에서 다양한 데이터 원본을 통해(클라우드 포함해서) Self-분석이 가능하다는 것을 알아보기 위함입니다.


데이터를 가져오기 할 경우에 “XML 구문 분석에 대한 에러가 발생할 경우는 SQL Server 2008 R2 기능 팩의 Microsoft® SQL Server® 2008 R2 Microsoft® Analysis Services OLE DB 공급자를 다운로드 받아 설치하면 됩니다.

http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=ceb4346f-657f-4d28-83f5-aae0c5c83d52


잘 가져오면 아래와 같이 성공으로 나타납니다.



데이터 가져오기 결과는 아래와 같습니다.


클라우드 환경이 아닌 로컬 데이터베이스에 있는 Product 테이블을 가져오기 했습니다.



디자인 탭의 관계 만들기를 통해 PowerPivot 테이블 간의 관계(FK)를 정의했습니다.


클라우드의 SQL Azure 를 이용해서 피벗 테이블을 구성한 결과는 아래와 같습니다. 또한 Excel 2010의 슬라이서를 이용했습니다.



이상으로 SQL Azure의 활용 측면으로 Excel 2010의 PowerPivot을 이용해서 SQL Azure의 데이터를 연결하는 내용을 알아보았습니다.

다음은 SQL Reporting Services 에서 SQL Azure 데이터를 나타내보도록 하겠습니다.







 


신고
posted by 정홍주
2011.01.23 21:57 Microsft Azure/SQL Databases

UPDATE 다른 곳에 썻던 내용을 이곳에 통합하기 위해 옮겼습니다.

앞에서 SQL Azure Data Platform에 대한 내용을 살펴보았고 이제는

SQL Azure에 데이터베이스와 데이터가 있으므로 응용 프로그램에서 액세스 해보도록 하겠습니다.

 

응용 프로그램이 Cloud 환경이 아닌 모습이라면 Far Application 이라고 말하며

SQL Azure 와 응용 프로그램이 같은 Cloud 환경이라면 Near Application 이라고 말합니다.

 

Visual Studio 2010으로 ASP.NET Web Role Application을 생성하여 Far, Near 응용 프로그램을 처리해보도록 하겠습니다.

 

먼저 등록된 SQL Azure의 데이터 쿼리 결과입니다.



위의 데이터를 Cloud Service ASP.NET Web Role 에서 액세스하고 Cloud로 게시해봅니다.

 

먼저 Visual Studio 2010에서 Cloud Service > Windows Cloud Azure Service 에서 ASP.NET Web Role 프로젝트를 생성합니다.




Web Role Default.aspx 에 대한 페이지는 많은 내용 없이 SQL Azure를 연결하여 Category 데이터와 SubCategory 데이터를 표시해주는 것으로 구성해보겠습니다.

 

Default.aspx의 화면 디자인은 DropDownList GridView 컨트롤을 배치합니다.




아래처럼 간단한 ADO.NET 프로그래밍을 통해 저장 프로시저를 호출하여 DropDownList1 GridView1에 데이터를 바인딩 합니다. 연결 문자열은 Web.ConfigconnectionStrings 섹션에 위치시킵니다. 로컬 데이터베이스에서 테스트하고 SQL Azure 의 연결 문자열로 변경하도록 합니다.


로컬 데이터베이스에서 테스트하고 SQL Azure로 결과를 테스트하면 아래와 같은 결과를 볼 수 있으며 아래 형태가 Cloud와 코드가 멀리 있는 Far Application 형태가 됩니다. 웹뿐만 아니라 Cloud의 여러 서비스가 있다면 Windows Form에서도 액세스 가능하다는 것을 알 수 있습니다.



이제 Near Application으로 Windows Azure로 게시해봅니다. 솔루션 탐색기에서 게시를 선택해서 Windows Azure 사이트의 서비스에 cspkg 확장자 파일과 cscfg 확장자 파일을 업로드하고 게시합니다.



Production에도 게시를 하여 Azure URL로 접속하면 아래와 같은 결과를 얻을 수 있습니다.
물론 SQL Azure에 대한 방화벽 설정을 해주어야 합니다.~




요약하면 데이터베이스와 데이터가 게시된 SQL Azure를 이용하는 Cloud Application을 생성해보았습니다.



신고
posted by 정홍주
2011.01.23 21:51 Microsft Azure/SQL Databases
UPDATE 다른 곳에 썻던 내용을 이곳에 통합하기 위해 옮겼습니다.

이전 블로그에서 SQL Azure 의 계정을 생성하고 ADO.NET으로 사용자 데이터베이스를 생성해보았습니다. 간단한 테스트였으며 SQL AzureOverview를 간단히 알아보았습니다.

 

이번 블로그에서는 SQL Server Management Studio(SSMS) 를 이용하여 SQL Azure 데이터베이스에 데이터베이스 개체(데이터베이스, 테이블, 인덱스, 제약, 데이터)를 생성해보겠습니다. 향후 데이터베이스 개체를 웹 응용 프로그램에서 이용해 볼 것입니다.

 

SQL Server Management Studio(SSMS)를 통해 SQL Azure 데이터베이스 서버를 접근해보도록 하겠습니다. 이전 블로그에서 본 것처럼 개체 탐색기에서는 연결이 안되었지만 아래 그림의 새 쿼리를 통하면 연결이 가능합니다.

 

SSMS를 시작할 때 연결 창이나 개체 탐색기에서 연결을 사용하시면 이전 블로그에서와 같은 에러를 보실 수 있습니다. 그래서  새 쿼리메뉴를 선택하거나 파일> 새로 만들기> 데이터베이스 엔진 쿼리를 이용하시면 됩니다. 새 쿼리 메뉴를 클릭하시면 연결 창이 보이고 SQL Azure 서버주소와 계정과 암호를 입력하시면 됩니다.


[그림1-1 SQL Azure 서버에 연결]

연결하시면 아래와 같은 경고 창을 보실 수 있습니다. 아래 경고에서는 확인을 선택합니다.


[그림 1-2 경고창]

 

쿼리 창에서 아래와 같이 @@version 구문을 실행해봅니다. 그러면 SQL Azure 서버의 버전을 알 수 있습니다.



[그림 1-3 Version]

 

사용자 데이터베이스를 만들기 위해 sys.databases 라는 카탈로그 뷰를 아래 그림과 같이 실행해 봅니다. 실행 결과에서 데이터베이스 목록을 알 수 있습니다.




[그림 1-4 sys.databases]

 

사용자 데이터베이스를 생성하기 위해 CREATE DATABASE 구문을 아래와 같이 실행해봅니다. 물리적인 데이터베이스 파일 위치까지 지정한 구문은 실행되지 않습니다. 마찬가지로 DROP DATABASE 구문도 실행 가능합니다.



[그림 1-5 CREATE DATABASE]

해당 사용자 데이터베이스로 이동해서 테이블 개체를 생성하려고 합니다. USE 구문을 사용하면 해당 데이터베이스가 존재하지 않는다는 에러 메시지가 나오면서 전환이 되지 않습니다. 사용자 데이터베이스로 이동할 경우는 아래와 같이 진행합니다.

파일 > 새로 만들기 > 데이터베이스 엔진 쿼리를 선택해서 SQL Azure 서버 정보를 입력하고 옵션을 선택해서 연결할 데이터베이스부분에 데이터베이스 이름을 직접 타이핑해서 연결하면 됩니다.


[그림 1-6 DATABASE 연결]

 

 이제 테이블을 생성해서 데이터를 추가해보도록 하겠습니다. 아래 그림과 같이 실행해서 테이블을 생성합니다.



[그림 1-7 테이블생성]

 

CREATE 구문에 보는 것처럼 클러스터형 인덱스와 DEFAULT 제약이 생성된 것을 확인가능합니다.

생성된 테이블에 INSERT 구문을 실행해봅니다.



[그림 1-8 INSERT 테이블]


물론 4번 데이터는 UPDATE  또는 DELETE를 수행할수 있습니다.~

이상으로 SSMS를 이용하여 SQL Azure 서버에 데이터베이스, 테이블, 인덱스, 데이터 INSERT를 다루어 보았습니다. 다음 블로깅에서는 로컬에 있는 SQL Server 2008의 Sample 데이터베이스를 SQL Azure 로 게시를 해보겠습니다. 게시하면서 지원하지 않는 T-SQL에 대한 부분을 알아보겠습니다.

감사합니다.




 


신고
posted by 정홍주
prev 1 next

티스토리 툴바