꼭 블로그가 아니더라도 XML RSS 는 이제 어느정도 대세가 되어가고 있는 듯합니다. 이제는 언론사나 커뮤니티 등에서도 RSS 가 나옵니다.. 그리고 #Reader나 Xpyder,FreeDemon 등의 RSS 구독기 또한 점차 넓게 사용되고 있습니다. 여기서는 이러한 XML RSS 를 구현하는 방법을 ASP 기반에서 XML 컴포넌트를 이용하여 구현하고자 합니다.

사실 RSS 를 구현할때 사실 단순히 텍스트 파일로 뿌려주고 ContentType 만 xml 로 선언해줘도 가능합니다. 그러나 조금은 다르게 해보고 싶다는 저의 호기심도 있고, 확장성과 향후 유지보수에 조금이라도 더 손쉽게 하기위해서 윈도우즈 2000 에 기본제공되어 있는 XML 관련 컴포넌트를 이용하여 구현해보았습니다. 물론 아래 소스는 지금 제 블로그 RSS 의 원형이 되고 있습니다.

한가지 주의 하실점은 XML 선언전에 어떠한 개행( ) 이나 문자가 들어가서는 안됩니다. PHP 에서의 쿠키과 마찬가지 입니다.

< ?xml version="1.0" encoding="EUC-KR" ? >

< %
Response.ContentType = "text/xml"
Set xmlPars = Server.CreateObject("Msxml2.DOMDocument")

' 여기서 부터 rss 정보를 담는다.
Set rss = xmlPars.CreateElement("rss")
rss.setAttribute "version", "2.0"
rss.setAttribute "xmlns:dc", "http://purl.org/dc/elements/1.1/"
rss.setAttribute "xmlns:sy", "http://purl.org/rss/1.0/modules/syndication/"
rss.setAttribute "xmlns:admin", "http://webns.net/mvcb/"
rss.setAttribute "xmlns:rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlPars.AppendChild(rss)

'< channel> 시작

Set Channel = xmlPars.CreateElement("channel")
rss.AppendChild(Channel)

'< title>정보
Set title = xmlPars.CreateElement("title")
Channel.AppendChild(title)
Channel.childnodes(0).text = "블로그 제목"

'< link>정보
Set channel_link = xmlPars.CreateElement("link")
Channel.AppendChild(channel_link)
Channel.childnodes(1).text = "블로그 주소"

'< description>정보
Set description = xmlPars.CreateElement("description")
Channel.AppendChild(description)
Channel.childnodes(2).text = "블로그 설명"

'< dc:language>정보
Set language = xmlPars.CreateElement("dc:language")
Channel.AppendChild(language)
Channel.childnodes(3).text = "ko"

'< image>정보
Set image = xmlPars.CreateElement("image")
Channel.AppendChild(image)

'이미지 정보에 들어갈 것들
set i_title = xmlPars.CreateElement("title")
set i_url = xmlPars.CreateElement("url")
set i_width = xmlPars.CreateElement("width")
set i_height = xmlPars.CreateElement("height")

image.AppendChild(i_title)
image.AppendChild(i_url)
image.AppendChild(i_width)
image.AppendChild(i_height)

image.childnodes(0).text = "이미지 제목"
image.childnodes(1).text = "이미지 경로"
image.childnodes(2).text = "이미지 가로 사이즈"
image.childnodes(3).text = "이미지 세로 사이즈"

' 여기서 부터는 포스트에 대해서 출력

' 우선 데이터를 읽어오자
SQL = "해당되는 포스트에 대한 쿼리문"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL,접근문자열,adOpenForwardOnly,adLockPessimistic,adCmdText

' 여기서 부터 루프를 돌리자.
Do until rs.EOF

' 이라는 노드를 추가
Set item = xmlPars.CreateElement("item")
Channel.AppendChild(item)

' 여기서부터 해당 포스트의 세부 정보를 출력
set title = xmlPars.CreateElement("title") '
set link = xmlPars.CreateElement("link")
set description = xmlPars.CreateElement("description")
set dcdate = xmlPars.CreateElement("dc:date")
set dcsubject = xmlPars.CreateElement("dc:subject")

item.AppendChild(title)
item.AppendChild(link)
item.AppendChild(description)
item.AppendChild(dcdate)
item.AppendChild(dcsubject)

item.childnodes(0).text = rs("제목필드")
item.childnodes(1).text = rs("포스트 고유 url 필드")
item.childnodes(2).text = rs("내용 필드")
item.childnodes(3).text = rs("날짜 필드")
item.childnodes(4).text = rs("포스트의 분류 필드")

rs.movenext
oop

' 마지막으로 최종적으로 뿌려주자.
Response.Write xmlPars.xml

'마무리 ^^;

rs.close
set rs = nothing
Set xmlPars = nothing

% >
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/06/16 12:42 2007/06/16 12:42
Response
No Trackback , a comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2475

첫번째 방법은 Instant Client를 pc에 설치하고 명령프롬프트 창을 이용한다.

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html

오라클 공식 홈페이지에서 다운을 받는다.(가입을 해야됨)



▒ Instant Client Package - Basic
▒ Instant Client Package - SQL*Plus



1.위의 두가지 압축파일을 다운후 폴더를 하나 만들고 같은 폴더에 압축해제한 파일을 모아둔다.

2.Basic을 압축해제하면 oci.dll 이나오는대 이것을 C:\WINNT\SYSTEM32 폴더안에 복사시킨다.

3.파일을 모아둔 디렉토리를 환경변수의 PATH에 등록시킨다.

ex)C:\Ora\instantclient_10_2 이경로를 path에 등록

4.세팅이 끝났으면 시작->실행->cmd로 들어가서 sqlplus를 타이핑해본다.

5.사용자 인증 문자열의 구성은 다음과 같다.

Dos 창에서 다음처럼 서버에 접속합니다. ip는 임의의 ip를 사용했습니다.

C:\sqlplus username/password@mymachine.mydomain:port/service_name

C:\sqlplus dj01/dj01@123.123.100.32:1521/testdb.world

SQL>conn system/manager@123.123.100.32:1521/testdb.world



==============================================================================



두번째는 오라클서버와 연결된 웹서버의 isqlplus라는 솔루션을 이용하는것이다.

http://211.183.8.54/isqlplus (인터넷으로 오라클 접속하기)
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/06/16 12:00 2007/06/16 12:00
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2474

Window에서 Oracle Client 설치 및 기동

Step 1: Download the appropriate Instant Client packages for your platform. All installations REQUIRE the Basic package.

해당 플렛폼에 맞추어 Client를 다운받는다.

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html



Step 2: Unzip the packages into a single directory such as "instantclient".

다운받은 zip파일의 압축을 푼다.

(폴더명 이하: C:\WINDOWS\SYSTEM32\DRIVER\instantclient)


Step 3: Set the library loading path in your environment to the directory in Step 2 ("instantclient"). On many UNIX platforms, LD_LIBRARY_PATH is the appropriate environment variable. On Windows, PATH should be used.

시스템 환경변수를 설정하여준다.

기본 PATH에 추가: C:\WINDOWS\SYSTEM32\DRIVER\instantclient
환경변수 "TNS_ADMIN" 추가: C:\WINDOWS\system32\drivers\instantclient\
(TNS_ADMIN의 값은 Step4의 TNSNAMES.ORA파일의 위치를 지정한다.)


Step 4: TNSNAMES.ORA

환경변수 "TNS_ADMIN"에 지정한 폴더에 TNSNAMES.ORA파일을 생성한다.

파일내용===========================================
{tns-name} =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = {Oracle-server IP})(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = {schema-name})
)
)
===================================================


Step 5: ODBC config.

ODBC설정에서 사용자DNS를 추가한다.

추가 > Microsoft ODBC for oracle
데이터원본이름: 맘대로
설명: 맘대로
사용자이름: 접속아이디
서버: Oracle server IP


Step 6: Start your application and enjoy.

TOAD or SQL*PLUS를 사용한다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/06/16 11:57 2007/06/16 11:57
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2473

테이블 목록 퀴리로 호출하기

select * from sysobjects where xtype='U' order by name
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/06/08 11:05 2007/06/08 11:05
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2462

파비콘 만들기

파비콘(Favicon)은 질문자님께서 보여주신 네이버 주소 캡쳐와 같이 브라우저 주소창이나 탭, 북마크리스트 등에 붙는 그 사이트의 아이덴티티를 표현하는 아이콘입니다.


흔히 말하는 아이콘(Icon)과 비슷한 개념인데, 사이트에 적용된다는 것이 다릅니다.

사이트에 적용할 수 있는 방법을 간단히 설명해 드리도록 하겠습니다.



< link rel="shortcut icon" href="favicon.ico" >




위 HTML 코드는 파비콘을 등록하는 예입니다.

href 속성에 지정된 favicon.ico 파일이 파비콘으로 쓰일 아이콘입니다. 확장자가 ico 이죠?

네, 이것은 아이콘 파일이라는 뜻입니다. gif 나 jpg 와는 좀 다른 것입니다.

아래에 적어놓은 사이트에서 일반 이미지 파일을 ico 파일로 변환시킬 수 있습니다.



http://www.chami.com/html-kit/services/favicon/



물론 직접 만드셔도 됩니다. 아이콘 제작 프로그램도 많으니까요.

아이콘을 다 만드셨고, 그 아이콘을 자신의 홈페이지의 주소 표시줄과 즐겨찾기에 이미지로 표현을 하고 싶다면, 아까 알려드린 HTML 코드를 index 파일 적당한 곳에 삽입하시면 됩니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/06/05 15:19 2007/06/05 15:19
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2457

한빛미디어 - 루비 관련기사

한빛미디어 - 루비 관련기사

http://network.hanb.co.kr/view.php?bi_id=1349

http://network.hanb.co.kr/view.php?bi_id=1350

http://network.hanb.co.kr/view.php?bi_id=1375
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/05/19 11:33 2007/05/19 11:33
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2432

ASP 에서 MYSQL 연동하기

ASP하면 MS-SQL, PHP하면 mysql이 생각납니다. 이에 대해서는 여러가지 이유가 있겠지만, 궁합(?)이 가장 잘 맞기 때문이겠죠~

하지만, 실무현장에는 여러가지 이유로 이러한 궁합이 깨지곤 하는데요. PHP + Oracle, ASP + MySQL등이 이러한 경우입니다. 연동하는데 그다지 어려운 점은 없지만, 도움이 필요하신 분들을 위해 간략하게 작성해봅니다.


* IIS 설정 방법과 MySQL, MyODBC 설치방법은 생략합니다.


:: 다운로드

MySQL 4.1
http://dev.mysql.com/downloads/mysql/4.1.html

MySQL Connector/ODBC 3.51
http://dev.mysql.com/downloads/connector/odbc/3.51.html

MySQL Query Browser
http://dev.mysql.com/downloads/query-browser/1.1.html


:: 설치

MySQL과 MyODBC, Query Brower를 설치합니다.


:: database와 table 생성

MySQL Query Browser를 이용하여 아래와 같이 address와 contacts를 생성합니다.

1) address 생성

create database address;

2) assress 사용

use address;

3) contacts 생성

create table contacts
(

contactId int auto_increment not null,

firstName varchar(50),

lastName varchar(50),

address1 varchar(100),

address2 varchar(100),

phone varchar(20),

primary key(contactId),

unique id(contactId)

);


:: dns_test.asp 작성

생성한 DB에 접근할 수 있는지 확인하기 위해 아래와 같이 작성합니다.

<%

dim adoConn

set adoConn = Server.CreateObject("ADODB.Connection")

adoConn.Open "Driver={MySQL ODBC 3.51 driver}; Server=localhost; Database=address; Uid=root;Pwd=121212;"

if adoConn.errors.count = 0 then

response.write "Connected Successfully!"

end if

adoConn.close
set adoConn = nothing

%>


브라우저를 통해 http://localhost/dns_test.asp 를 입력해 Connected Successfully 라는 글이 나타난다면 ASP에서 MySQL를 사용할 준비가 된 것입니다.


:: 꼭 알아두기

adoConn.Open "Driver={MySQL ODBC 3.51 driver}; Server=localhost; Database=address; Uid=root;Pwd=121212;"

이 내용이 가장 중요합니다. Driver를 MySQL ODBC 3.51 driver로 지정해주었다는 것을 기억하세요.


:: 참조

http://dev.mysql.com/doc/refman/5.0/en/odbc-connector.html

http://www.devarticles.com/c/a/ASP/Using-MyODBC-To-Access-Your-MySQL-Database-Via-ASP/
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/05/18 18:25 2007/05/18 18:25
Response
No Trackback , a comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2431

DB에서 저장프로시저 목록 보기

/*++++++++++++ 저장프로시저 목록 ++++++++++++*/
-- 목록 가져오기

SELECT sysobjects.id SPID, sysobjects.name SPName FROM sysobjects
WHERE sysobjects.xtype='P' AND sysobjects.name NOT LIKE 'dt%' ORDER BY SPName

-- 목록,내용 가져오기

SELECT so.name, sc.text
FROM dbo.sysobjects so
INNER JOIN dbo.syscomments sc ON so.id = sc.id WHERE so.type = 'p'

-- 내용보기

sp_helptext 'sp_add_data_file_recover_suspect_db'
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/05/09 17:44 2007/05/09 17:44
Response
No Trackback , a comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2417

sp_executesql - Transact-SQL

: 여러 번 사용할 수 있거나 동적으로 빌드된 Transact-SQL 문이나 일괄 처리를 실행합니다. Transact-SQL 문 또는 일괄 처리는 포함 매개 변수를 포함할 수 있습니다.


- 구문

sp_executesql [ @stmt = ] stmt
[
{, [@params=] N'@parameter_name data_type [ OUT | OUTPUT ][,...n]' }
{, [ @param1 = ] 'value1' [ ,...n ] }
]

- 인수
[ @stmt = ] stmt
Transact-SQL 문 또는 일괄 처리를 포함한 유니코드 문자열입니다. stmt는 유니코드 상수 또는 유니코드 변수여야 합니다. + 연산자로 두 문자열을 연결한 식처럼 더 복잡한 유니코드 식은 사용할 수 없습니다. 문자 상수도 사용할 수 없습니다. 유니코드 상수를 지정한 경우 접두사 N으로 시작해야 합니다. 예를 들어 유니코드 상수 N'sp_who'는 유효하지만 'sp_who'는 그렇지 않습니다. 문자열의 크기는 사용 가능한 데이터베이스 서버 메모리의 용량에 따라서만 제한됩니다. 64비트 서버에서는 문자열 크기가 nvarchar(max)의 최대 크기인 2GB로 제한됩니다.

참고:
stmt는 변수 이름과 동일한 형식의 매개 변수를 포함할 수 있습니다. 예를 들면 다음과 같습니다. N'SELECT * FROM HumanResources.Employee WHERE EmployeeID = @IDParameter'



stmt에 포함된 각 매개 변수에는 @params 매개 변수 정의 목록과 매개 변수 값 목록 모두에 해당되는 항목이 있어야 합니다.

[ @params = ] N'@parameter_name data_type [ ,... n ] '
stmt에 포함된 모든 매개 변수의 정의를 포함하는 하나의 문자열입니다. 문자열은 유니코드 상수 또는 유니코드 변수여야 합니다. 각 매개 변수의 정의는 매개 변수 이름과 데이터 형식으로 구성됩니다. n은 추가 매개 변수 정의를 나타내는 자리 표시자입니다. stmt에 지정된 모든 매개 변수는 반드시 @params에 정의되어야 합니다. stmt의 Transact-SQL 문 또는 일괄 처리에 매개 변수가 없으면 @params가 필요하지 않습니다. 이 매개 변수의 기본값은 NULL입니다.

[ @param1 = ] 'value1'
매개 변수 문자열에 정의된 첫 번째 매개 변수의 값입니다. 값은 유니코드 상수 또는 유니코드 변수가 될 수 있습니다. stmt에 포함된 모든 매개 변수에 대해 제공되는 매개 변수 값이 있어야 합니다. stmt의 Transact-SQL 문 또는 일괄 처리에 매개 변수가 없으면 값이 필요하지 않습니다.

[ OUT | OUTPUT ]
매개 변수가 출력 매개 변수임을 나타냅니다. 프로시저가 CLR(공용 언어 런타임) 프로시저가 아닐 경우 text, ntext 및 image 매개 변수를 OUTPUT 매개 변수로 사용할 수 있습니다. 프로시저가 CLR 프로시저가 아닐 경우 OUTPUT 키워드를 사용하는 출력 매개 변수가 커서 자리 표시자일 수 있습니다.

n
추가 매개 변수의 값에 대한 자리 표시자입니다. 값은 상수 또는 변수만 가능합니다. 함수 또는 연산자를 사용하여 작성한 식처럼 더 복잡한 식은 값으로 사용할 수 없습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/05/09 16:59 2007/05/09 16:59
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2416

Web 2.0 Memo Map

Web 2.0 Memo Map

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2007/05/09 09:30 2007/05/09 09:30
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/2413

« Previous : 1 : ... 57 : 58 : 59 : 60 : 61 : 62 : 63 : 64 : 65 : ... 101 : Next »

블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2024/11   »
          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
Statistics Graph

Site Stats

Total hits:
244663
Today:
1014
Yesterday:
776