[ASP] ACCESS를 이용한 데이터베이스 연동문제

gyxor의 이미지

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 이 함수를 지원하지 않는다는 에러인거 같은데요..

어떻게 해결하면 좋을까요?

답변부탁드립니다.

choissi의 이미지

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

gyxor의 이미지

PWS에서 다시 해보겠지만.. 정말 이상하네요..
같은 소스와 방법으로 한것인데요.. 왜 PWS에서는 안되는
것일까요??

gyxor의 이미지

이 소스로 하면 pws iis 둘다에서 됩니다.

<%
Dim strConnect
strConnect = "dsn=ODBC_TEST;"

Dim dbcon, rs, sql

Set dbcon = Server.CreateObject("ADODB.Connection")
dbcon.Open "dsn=ODBC_TEST;"


Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT Num, Uid, Pwd, UserName, Tel FROM User ORDER BY Num DESC"
rs.Open sql, dbcon, 1

If (rs.EOF) Then
    Response.Write("Empty DataSet")
Else
    Do While(rs.EOF = False)
        Response.Write(rs(0) & " ; " & rs(1) & " ; " & rs(2) & " ; " & rs(3) & " ; " & rs(4))
        Response.Write("<br>")
        rs.MoveNext
    Loop
End If

rs.Close
dbcon.Close
Set rs = Nothing
Set dbcon = Nothing
%>

그런데 저의 소스로는 iis에서만 됩니다.

왜 이런 현상이 벌어지는지 정말 궁금합니다.
ps:
pws를 설치할때 MTS error Transaction 이 제대로 설치가 안됐다고 하는 에러가 나긴했지만
pws문제라기보다는 윈98자체에서 결함이 있는거 같습니다...
iis를 윈98에 설치하는 방법은 없나요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.