2012-03-07 2 views
1

저는 기존 ASP가 처음입니다. 차라리 문제를 해결하기 위해 연구 시간보다 문제를 묻고 싶습니다.ADODB 개체를 사용하여 Classic ASP의 Access 데이터베이스에 연결

액세스 데이터베이스에 액세스하는 중 다음 오류가 발생합니다.

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified  
/default1.asp, line 30 

범인 라인은 내가, 액세스가 설치되어 있지만 지정된 폴더에 .mdb 파일을 복사하지 않아도 그것은 그런 식으로 작동 음이

Set MyConn = Server.CreateObject("ADODB.Connection") 
MdbFilePath = Server.MapPath("c:\database\MyDatabase.mdb") 
  1. 입니까? 저는 SQL Server에 익숙하며 데이터를 검색하기 위해 실행해야합니다.

  2. ADODB를 사용하지만 DLL을 파일 할 수 없습니다. 누군가 나를 위해 DLL을 지정할 수 있습니까? 작동 시키려면 내가해야 할 일이 있습니다. 그냥 등록하면 regsvr32 my.dll을 사용할 수 있습니까?

  3. 연결 문자열 (일반적으로 연결 문자열을 사용하여 SQL Server에 연결)을 찾을 수 없습니다. 이 경우 Access 데이터베이스에 하나가 필요합니까?

나를 위해

답변

2

그것은 몇 년이되었습니다 도움이 때문에,이 대답은 구식 조금 수 있습니다하시기 바랍니다. 또한 Access db는 .mdb로 끝나기 때문에 2007 년 이전 데이터베이스라고 가정합니다.

예, 파일이 작동해야합니다. 액세스를 실행할 필요가 없습니다. 단지 파일을 읽어야합니다. 그러나 Access 데이터베이스 (MDAC - http://www.microsoft.com/download/en/details.aspx?id=1953)의 대화를하려면 특정 구성 요소가 설치되어 있어야하며 그렇지 않은 경우 100 % 확실하지는 않습니다. MDAC에는 JET 엔진이 포함되어 있습니다.이 엔진은 기존 ASP에서 Access 파일과 통신하는 데 사용됩니다. 연결 문자열에 대해서는

, 액세스 연결 문자열의 몇 가지 예를 제공하는이 웹 사이트 : http://connectionstrings.com/access

편집 - 추가 다만 경우에 내가 제대로 의견을 다음 아니에요

대한 추가 정보를 원하시면, 다음은 Classic ASP를 통해 Access 데이터베이스에 연결하는 방법의 예입니다.

Set MyConn = Server.CreateObject("ADODB.Connection") 
MdbFilePath = "c:\database\MyDatabase.mdb" ''# Server.MapPath is not needed, since we are providing the whole path already 
MyConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & MdbFilePath 

위 코드를 실행할 때 오류 메시지가 계속 나타 납니까? 또한 실행중인 설정 (IIS7, IIS6, 32 비트, 64 비트)은 무엇입니까?

+0

[이 msft 링크] (http://support.microsoft.com/kb/306345)를 발견했습니다. 레지스트리에 대한 권한을 추가하고 mdac이 설치되어 있는지 확인했지만 여전히 작동하지 않습니다. 내가 뭔가 잘못하고있다 수 있습니다 –

+0

확인 오류가 사라집니다. CreateObject가 실패했습니다. –

+0

CreateObject가 같은 행이나 다른 곳에 실패 했습니까? 또한 연결을 여는 방법은 무엇입니까? 'MyConn.Open "공급자 = Microsoft.Jet.OLEDB.4.0; 데이터 원본 ="& MdbFilePath' – Chris

관련 문제