'Web Programing'에 해당되는 글 1건

  1. 2007/11/12 [자바의 숫자표현] 어디까지 가능할까 !!! - 자바서비스넷 펌 -

[ASP.NET] Office System 드라이버 오류 권한 문제

[■Web Programing/OO ASP.NET OO]
서버 2003 엑셀 업로드후 불러오기 할때 엑셀 객체생성하는 부분에서 에러
Set objApp = CreateObject("Excel.Application") ------> 56라인

=============================================================================
Microsoft VBScript 런타임 오류 오류 '800a0046'
사용 권한이 없습니다.
/intra/order/order_excel_ok.asp, 줄 56
=================================================================


기본적으로 인터넷 계정에 대해서는 서버의 프로그램 실행권한을 부여하지 않기 때문에,
엑셀이 깔려 있다고 하더라도..
서버에서 엑셀 객체를 실행하려면 서버의 설정을 바꾸어줘야 합니다.

1.
시작 - 프로그램 - 관리도구 - 구성요소서비스
구성 요소 서비스 - 컴퓨터 - 컴퓨터이름(내 컴퓨터) - DCOM구성
DCOM구성 - Microsoft Excel 응용 프로그램 - 속성
속성 - 보안탭 - 시작 및 활성화 권한 - 사용자 지정(선택)
추가 - IUSR_컴퓨터이름(인터넷 게스트 계정) 추가
인터넷 게스트 계정의 사용 권한 - 로컬 시작, 로컬 활성화 (체크)

2.
시작 - 프로그램 - 관리도구 - 구성요소서비스
구성 요소 서비스 - 컴퓨터 - 컴퓨터이름(내 컴퓨터) - DCOM구성
DCOM구성 - {000C101C-0000-0000-C000-000000000046} - 속성
속성 - 보안탭 - 시작 및 활성화 권한 - 사용자 지정(선택)
추가 - IUSR_컴퓨터이름(인터넷 게스트 계정) 추가
인터넷 게스트 계정의 사용 권한 - 로컬 시작, 로컬 활성화 (체크)


지식인 midst1 님 답변.....
[출처] 2003서버 엑셀읽기 에러|작성자 카르포스

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

엑셀 xls 나 xlsx 의 두개의 경우 모두 포함되며 인터넷 게스트 계정의 권한을 추가한 경우 모두 해결됨.

1의 경우는 엑셀을 설치한 경우 있지만 설치 안한 경우는 보이지 않음.
2의 경우는 Office System 드라이버 설치한 경우 확인 가능.
크리에이티브 커먼즈 라이센스
Creative Commons License

[JavaScript] 자바스크립트 인쇄 미리보기 옵션

[■Web Programing/OO JavaScript OO]
출처 : http://blog.naver.com/crabz?Redirect=Log&logNo=140044134122

<script language="javascript">
function ieExecWB( intOLEcmd, intOLEparam ) { // 웹 브라우저 컨트롤 생성.crabz
var WebBrowser = "<object id='WebBrowser1' width=0 height=0 classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'>
</object>";
// 웹 페이지에 객체 삽입
document.body.insertAdjacentHTML("beforeEnd", WebBrowser);

// if intOLEparam이 정의되어 있지 않으면 디폴트 값 설정
if ( (!intOLEparam) || (intOLEparam < -1) || (intOLEparam >
1) )
intOLEparam = 1;

// ExexWB 메쏘드 실행
WebBrowser1.ExecWB( intOLEcmd, intOLEparam );
// 객체 해제
WebBrowser1.outerHTML = "";
}
</script>

<input type="button" value="인쇄 미리 보기" onClick="window.ieExecWB(7)">
<input type="button" value="페이지 설정" onClick="window.ieExecWB(8)">
<input type="button" value="인쇄하기(대화상자 표시)" onClick="window.ieExecWB(6)">
<input type="button" value="인쇄 바로 하기" onClick="window.ieExecWB(6,-1)">

[출처] JAVASCRIPT로 인쇄 미리보기 만들기|작성자 가능성
크리에이티브 커먼즈 라이센스
Creative Commons License

[ASP.NET] 잠재적 위험이 있는 Request.Form 값을 발견했습니다.

[■Web Programing/OO ASP.NET OO]

[펌] : http://thankee.tistory.com/67


Form의 데이터를 Request할때, Form값에 태그가 포함 되어 있을 경우 다음과 같은 에러를 발생시킵니다.
클라이언트 (txtContent="<STRONG>Content</STRONG>...")에서 잠재적 위험이 있는 Request.Form 값을 발견했습니다.

Form의 값으로 태그와 몇몇 특수문자들을 그대로 전송받아 처리하게되면 XSS나 SQL Injection과 같은 공격을 회피하지 못하거나, 공격자에 의해 사이트가 변조 당하는 등의 문제가 발생할 수 있습니다.

따라서 ASP.NET에서는 Request한 값을 validate, 즉 유효성을 검사하여 사용자에게 알림으로서 보다 견고한 웹 어플리케이션을 구축할 수 있도록 하고 있습니다. 이 에러를 처리하는 방법으로는 다음과 같이 세가지 방법이 있으며, 첫 번째 방법이 가장 안전하고 권장되는 방법입니다.

1. Client에서 Form값을 전송하기 전 또는 Request한 값을 사용하기 전에, 특정 문자들을 제거하거나 HTML Encoding 등을 사용하여 특수문자들을 다른문자로 치환하는 방법입니다. Javascript 또는 Server Side Script 에서 제거할 수 있으며 개발자가 필요에 따라 선택하면 됩니다.

2. 특정페이지에서만 에러 발생을 무시하는 방법입니다. 에러가 발생하는 페이지의 Page 지시자에 validateRequest="false" 를 추가하면 해당 페이지에서는 이 에러가 발생하지 않게 됩니다.

<%@ Page
     language
="C#" Codebehind="...." AutoEventWireup="true" Inherits="..."
     validateRequest="false" %>
3. 전체 웹 어플리케이션에 해당 에러가 나타자니 않게 하는 방법입니다. web.config에서 <system.web>엘리먼트 내부에 <pages validateRequest="false" />를 넣어두면 모든 페이지에서 해당 에러는 발생하지 않게 됩니다.
<?xml version="1.0"?>
<configuration>
    <appSettings/>
    <system.web>
        <pages validateRequest="false" />
    </system.web>
    ....
</configuration>
크리에이티브 커먼즈 라이센스
Creative Commons License

[파일열기 오류] DDE 오류가 발생했지만 오류 설명이 너무 길어서 표시할 수 없습니다. 파일 이름이나 경로가 길면 파일 이름을 바꾸거나 다른 폴더에 복사하십시오.

[■Web Programing]

[펌] : http://bbs.freechal.com./comservice/act ··· 33523006


OWA에서 Filename 이 긴 attachment 파일을 오픈할 때 여러분은 다음과 같은 에러를 보셨을 겁니다.


"DDE 오류가 발생했지만 오류 설명이 너무 길어서 표시할 수 없습니다. 파일 이름이나 경로가 길면 파일 이름을 바꾸거나 다른 폴더에 복사하십시오."

 

이 문제는 Office 제품에서 파일을 만들고 저장할 때의 256자 제한 때문에 발생합니다. 또한 파일의 경로가 다음 조건에 해당하는 경우 파일을 저장하거나 열 때 오류 메시지가 나타납니다.

Microsoft Word: 경로와 파일 확장명을 비롯한 파일 이름의 총 길이가 254자를 초과합니다. 
Microsoft PowerPoint: 경로와 파일 확장명을 비롯한 파일 이름의 총 길이가 258자를 초과합니다. 
Microsoft Access: 경로와 파일 확장명을 비롯한 파일 이름의 총 길이가 258자를 초과합니다. 
Microsoft Outlook: 경로와 파일 확장명을 비롯한 파일 이름의 총 길이가 258자를 초과합니다.
Microsoft Excel: 경로와 파일 확장명을 비롯한 파일 이름의 총 길이가 218자를 초과합니다.


<자세한 내용>

E2k7에서는 이 내용이 좀 더 심각하게 작용을 했습니다.


즉, E2k7는 E2k3와는 달리,  DBCS 파일 오픈시 UTF-8로 인코딩하게 되었습니다. 이는 DBCS 파일명에 대한 corrution이슈로 인해서 Design change를 한 것입니다. E2k3에서 한글이름의 엑셀파일첨부를 오픈하고, E2k7에서 오픈 후에 상단 바를 보시면, E2k3에서는 한글이름으로 되어 있고, E2k7에서는 UTF-8로 인코딩 되어 있는 것을 보실 수 있습니다.


하지만, 이것으로 인해서 Side effect가 long filename이 대한 limiation이 더 금방 도달하게 되었습니다.

아시다시피, UTF-8로 인코딩 되면서 Filename 길이가 더 길어지기 때문입니다.


예>

Korean filename=오늘나는프러덕팀과뜨거운케이스를가지고열심히논의했습니다무엇이문제일까요제길오늘나는프러덕팀과뜨거운케이스를가지고열심히논의했습니다무엇이문제일까요제길오늘나는프러덕팀과뜨거운케이스를가지고열심히논의했습니다무엇이문제일까요제길.docx

 

Encoded filename=%EC%98%A4%EB%8A%98%EB%82%98%EB%8A%94%ED%94%84%EB%9F%AC%EB%8D%95%ED%8C%80%EA%B3%BC%EB%9C%A8%EA%B1%B0

%EC%9A%B4%EC%BC%80%EC%9D%B4%EC%8A%A4%EB%A5%BC%EA%B0%80%EC%A7%80%EA%B3%A0%EC%97%B4%EC%8B%AC%ED%9E%

88%EB%85%BC%EC%9D%98%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4%EB%AC%B4%EC%97%87%EC%9D%B4%EB%AC%B8%EC%A0%9C%EC%9D%BC%EA%B9%8C%EC%9A%94%EC%A0%9C%EA%B8%B8.docx


위에서 보신 것 처럼 UTF-8 로 인코딩 된 놈이 훨씬 긴 것을 보실 수 있습니다.

그런데, IE에서는 152 byte를 넘으면 앞의 파일 명이 Truncate 되어 버립니다.

따라서, 위 밤색으로 된 앞의 내용은 사라지고, 뒷 밤색표시 명만으로 해서 오픈이 되어 버립니다.


%85%BC%EC%9D%98%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4%EB%AC%B4%EC%97%87%EC%9D%B4%EB%AC%B8%EC%A0%9C%EC%9D

%BC%EA%B9%8C%EC%9A%94%EC%A0%9C%EA%B8%B8.docx


하지만, IE의 디자인 변경으로 인해서 2083 character 도 오픈할 수 있게 되었습니다.

http://support.microsoft.com/kb/208427

 

그런데, 엑셀파일의 경우는 좀 문제가 있습니다.

위에서 보면, 218 characters의 제한이 있다고 제가 언급했었습니다.

.( http://support.microsoft.com/?id=325573)

 

위 테스트 파일이 doc가 아니라 excel이라고 가정해 보죠.

 

위 밤색 부분이 147 bytes에 해당하고, 제 아래 임시 파일 경로가 106 byte가 됩니다.

C:\Users\jungseo.FAREAST\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\RU43QYKZ

147byte+106 <254 (word or PPT)

147+106 > 218(Excel limitation).

 

따라서, 아무리 길어도, Word나 PPT의 경우는 정상적으로 오픈이 되지만,

엑셀은 위 제한에 걸려 긴 엑실 한글첨부파일(사실 길지도 않지만)이 오픈이 안되었습니다.

 

물론 workaround로 제시된 건, 사용자에게 파일 사이즈를 짧게 저장한 뒤 다시 오픈하라는 거였죠.

 

이 문제가 IE8 부터는 해결이 되었습니다. 이전에 오픈 안되던 길이의 Excel 파일은 아무런

문제없이 오픈이 됩니다. 즉 IE8에서 긴 파일이름 처리가 가능하게 된 겁니다.

 

많은 분들이 이런 이슈를 겪었을 줄 아는 데, 지금 바로 IE8로 업그레이드 해 보시기 바랍니다.

크리에이티브 커먼즈 라이센스
Creative Commons License

[ASP.NET] system.runtime.interopservices.comexception .net

[■Web Programing/OO ASP.NET OO]
[펌] http://cathy99.egloos.com/3634227

system.runtime.interopservices.comexception .net



크리에이티브 커먼즈 라이센스
Creative Commons License

[PHP MYSQL] PHP TIME() 함수를 MySQL 로 변환

[■Web Programing/OO PHP OO]

php Time() 함수
 - 1168487060

Mysql from_unix(1168487060)
 - 2007-01-11 12:44:20

크리에이티브 커먼즈 라이센스
Creative Commons License

AOP 사용

[■Web Programing/OO JSP OO]
http://passion79.springnote.com/pages/1708806?print=1
크리에이티브 커먼즈 라이센스
Creative Commons License

[펌] 구글에서 제공하는 일기예보 데이터 가져오기

[■Web Programing]
싸짱님 블로그 펌 : http://blog.hometown.co.kr/25

구글에서 제공하는 일기예보 데이터 가져오기

아래의 URL을 참고하시면 됩니다.
XML로 결과가 나오구요~ 해당 XML을 Parsing 하셔서 사용하시면 됩니다.
필요해서 요기 조기 뒤지다가 다른 곳에서 제공하는 것은 잘 안보이더군요.

참고하세요.

서울 : http://www.google.co.kr/ig/api?weather=seoul 
부산 : http://www.google.co.kr/ig/api?weather=busan
인천 :
http://www.google.co.kr/ig/api?weather=incheon
대구 : http://www.google.co.kr/ig/api?weather=daegu
대전 : http://www.google.co.kr/ig/api?weather=daejeon
광주 : http://www.google.co.kr/ig/api?weather=kwangju
울산 : http://www.google.co.kr/ig/api?weather=ulsan
크리에이티브 커먼즈 라이센스
Creative Commons License

[JSP 개발 환경셋팅] Tomcat6.0 + jsp6.0 + mysql5

[■Web Programing/OO JSP OO]

apache-tomcat-6.0.20

Server.xml 셋팅
<host> 
...
  <!-- oracle -->
  <Context path="/testjsp" reloadable="true" docBase="D:/w/j/PHPJSP_20091206">
   <Resource name="jdbc/testjsp" auth="Container" type="javax.sql.DataSource" username="dbusername" password="dbpassword"
   driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
   maxActive="8" maxIdle="4"/>
  </Context>
  <!-- mysql -->
  <Context path="/testjsp_mysql" reloadable="true" docBase="D:/w/j/PHPJSP_20091207">
   <Resource name="jdbc/testjsp_mysql" auth="Container" type="javax.sql.DataSource" username="munduki" password="munduki"
   driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://127.0.0.1:3306/munduki"
   maxActive="8" maxIdle="4"/>
  </Context>

...
</host>

jdk1.6.0_17
\jre\lib\ext\mysql-connector-java-5.1.10-bin.jar

다운로드는 http://dev.mysql.com/downloads/connector/j/5.1.html
zip 파일로 다운 받으면 된다.

처음에는 mm.mysql-2.0.14-bin.jar 이 드라이버를 받아 사용했으나 6시간 이상의 삽질 끝에 드라이버 문제로 판단
변경하여 위의 드라이버로 성공 했으니 참고 바람.

mysql5 (APM_Setup6)
 ==> install 만 하면 된다.

 연결 후 에는 Oracle이나 Mysql 이나 동일한 메소드로 사용가능한 것으로 보인다.
 Oralce 연결 후에 셋팅에 변경이 있으면 포스팅 하기로 한다.

 파워블로거님들의 포스트를 보고 참고 하였다.
 셋팅하시는 분들은 안되시는 사항은 댓글로 문의하시면 아는 범위내에서 답변해 드립니다.

 휴일 뻘짓 포스팅 끝.

크리에이티브 커먼즈 라이센스
Creative Commons License

[FLASH] 웹페이지 flash 삽입시 경로설정

[■Web Programing]

-- 절대경로

<td align="center" valign="bottom" height="162"><script>fnFlashView(절대경로, '920', '157', 'wmode')</script></td>


-- 상대경로

<td align="center" valign="bottom" height="162"><script>fnFlashView(상대경로, '920', '157', 'wmode')</script></td>

절대경로시에는 url 링크가 안되는 현상이 발생하여 상대경로로 수정하여 문제를 처리 하였다.

이 것의 원인은 무엇일까....

크리에이티브 커먼즈 라이센스
Creative Commons License