[ASP] ACCESS를 이용한 데이터베이스 연동문제
글쓴이: gyxor / 작성시간: 수, 2003/09/10 - 12:22오후
db1.mdb 파일을 만들어서 ODBC의 시스템 DNS 에 정상적으로 등록하였습니다.
<% Set DbConn = Server.CreateObject("ADODB.Connection") DbConn.Open ="dhlDB" Set objRs = DbConn.Execute("SELECT * From log_in") %> <table border=1> <% Do while (Not objRs.eof) Response.Write "<tr>" For Index=0 to (objRs.fields.count-1) Response.Write "<TD>" & objRs( Index ) & "</TD>" Next Response.Write "</tr>" objRs.MoveNext Loop objRs.close DbConn.close %> </table>
데이터베이스의 내용을 보기위해
이 내용으로 실행을 한 결과
Microsoft VBScript 런타임 오류 error '800a01b6' 개체가 이 속성 또는 메서드를 지원하지 않습니다.: 'DbConn.Open' /index.asp, line 3
이런 에러가 납니다.
윈98에서 PWS를 사용합니다. (책의 처음에는 IIS와 PWS 모두를 사용하는것으로 되어있습니다.)
분명 데이터 베이스의 테이블이름도 log_in입니다.
Set objRs = DbConn.Execute("SELECT * From log_in")
이내용에서 DbConn 이 함수를 지원하지 않는다는 에러인거 같은데요..
어떻게 해결하면 좋을까요?
답변부탁드립니다.
Forums:
DbConn.Open의 인자가 좀 이상하네요
ado connection 객체를 사용할때는
open하기전에 미리 connection string을 지정해서
objconn.open
이런식으로 아무 인자 없이 호출하거나
objconn.open ConnectionString, UserID, Password, Options
이런식으로 open시에 인자를 주어도 됩니다.
mdb를 odbc로 연결하신다고 했으니 ConnectionString를
"Provider=MSDASQL;DSN=dsnName;"
이런식으로작성하시면 되겠네요 dsnName는 님께서 만든 dhlDB로
지정하시면 되구요..
그런데 성능 향상을 위해서는 odbc를 사용해서 mdb를 접근하시는것보다는
Microsoft OLE DB Provider for Microsoft Jet
이 제공이 되니.. oledb -> odbc -> mdb odbc driver를 거치는것 보다
바로 oledb for msjet으로 사용하는게 좋겠죠
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User ID=userName;Password=userPassword;"
이런식으로 사용하것이 더 좋을듯 싶네요
이렇게 하면 dsn를 만들 필요도 없구요..
항목설명 :
Data Source - mdb파일의 위치 예)c:\Northwind.mdb
User ID - mdb파일에 접근할때 사용할 사용자 아이디. 기본값은 admin
Password - 패스워드 설정이 된 경우에 필요
울랄라~ 호기심 천국~!!
http://www.ezdoum.com
IIS에서 같은 소스로 해봤는데요.. 됩니다.
PWS에서 다시 해보겠지만.. 정말 이상하네요..
같은 소스와 방법으로 한것인데요.. 왜 PWS에서는 안되는
것일까요??
이 소스로 하면 pws iis 둘다에서 됩니다.[code:1]&l
이 소스로 하면 pws iis 둘다에서 됩니다.
그런데 저의 소스로는 iis에서만 됩니다.
왜 이런 현상이 벌어지는지 정말 궁금합니다.
ps:
pws를 설치할때 MTS error Transaction 이 제대로 설치가 안됐다고 하는 에러가 나긴했지만
pws문제라기보다는 윈98자체에서 결함이 있는거 같습니다...
iis를 윈98에 설치하는 방법은 없나요?
댓글 달기