얼마전에 테스트를 해봤었는데요..
ODBC버전을 하나 올리세요.
CLIENTSDK 2.50.TC2-1제품을 설치하고 ODBC 3.32버전에서
다음과 같이 테스트 했구요.. 물론 성공했습니다.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DSN=odbc332;UID=informix;PWD=informix")
SQL = "select customer_num original, "
SQL = SQL + " case when customer_num > 110 "
SQL = SQL + " then customer_num * 100 "
SQL = SQL + " else customer_num - 100 "
SQL = SQL + " end customer_num "
SQL = SQL + " from customer"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL,Conn,3
%>
<table border=1 width=300>
<tr><th>original</th>
<th>customer_num</th></tr>
<%
Do until rs.EOF
%>
<tr><td><%=rs("original")%></td>
<td><%=rs("customer_num")%></td></tr>
<%
rs.MoveNext
Loop
%>
</table>
<%
rs.close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
>>이태이 님께서 쓰시길<<
:: NT 4.02 에 informix 2000을 사용하고 있습니다.
:: ASP 문장에서 CASE 문을 사용하면
:: 다음과 같은 에러가 납니다.
::
:: Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
::
:: [Informix][Informix ODBC Driver]General error.Syntax error
::
:: ODBC 드라이버는 informix 3.31을 사용하고 있습니다.
:: 문제는 클라이언트툴( sql editor, powerbuilder 등)을 이용하여
:: 똑같이 쿼리를 날리면 에러가 나타나지 않는다는 것입니다.
:: ASP에서 CASE 문장을 사용할 수 있는 방법은 없을까요?
::
|