2011-12-28 2 views
0

기존 ASP 스크립트에서 MS Access 데이터베이스에 연결하려고합니다.클래식 ASP에서 MS Access 데이터베이스에 연결

나는 코드의 조각 다음 한 IIS7

을 실행하는 64 비트 윈도우 7 OS 사용하고 있습니다 :

Dim Connection 
Set Connection = Server.CreateObject("ADODB.Connection") 
Response.Write("object created...") 
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("D://Somnath//ExtraLogistics//Source//ZipDB.mdb") & ";" 
Response.Write("connected...") 

을하지만 IIS에서 응용 프로그램을 실행하는 동안 나는 브라우저에서이 오류 The website cannot display the page을 얻고있다.

제 IIS에서 Access 데이터베이스에 연결하는 데 도움을주십시오.

+0

서버 로그를 확인 했습니까? –

+0

액세스 경로에 IIS 서비스에서 액세스 할 수있는 권한이 있습니까? –

+0

연결을 제거하면 response.writes가 작동합니까? – Robert

답변

1

MapPath가 올바르게 표시되지 않습니다.

이 부분을보십시오. ASP reference

편집 : 예를 들어

: 가상 참조의 물리적 위치에

는 Server.MapPath 포인트 루트 디렉토리
을 Response.Write는 Server.MapPath의
'실제 경로 ("/")

'DataDirectory의 실제 경로
Response.Write Se rver.MapPath ("/ DataDirectory를 /")

장소 당신의 웹 사이트의 루트에있는 ZipDB.mdb 및 ("/")를 는 Server.MapPath를 변경

+0

-1 : 정확하게 보이지 않는 것을 추가하고 싶을 수 있습니다 ... – Stefan

+0

원본 폴더와 ISS에 가상 디렉터리를 만들었습니다. 즉, ZipDB.mdb도 같은 폴더에 있지만 여전히 작동하지 않습니다 ... – Sam

1

사용은 "파일 DSN "

conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\filepath\yourdb.mdb;" 
0

는 Server.MapPath이는 Server.MapPath 때문에 서버의 실제 경로에 URL 경로로 변환 ("D : //Somnath//ExtraLogistics//Source//ZipDB.mdb ")는 거의이다 틀렸어.

mdb 파일이 http://yourhost/Somnath/ExtraLogistics/Source/ZibDB.mdb 인 경우 Server.MapPath("/Somnath/ExtraLogistics/Source/ZibDB.mdb")을 사용하고 Server.MapPath는 서버의 파일 시스템에있는 mdb 파일의 위치를 ​​알려줍니다.

파일이 D : \ Somnath \ ExtraLogistics \ Source \ ZipDB.mdb에있는 경우 해당 파일 경로를 사용하고 Server.MapPath를 완전히 제거하십시오. 그래서 같이

: conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Somnath\ExtraLogistics\Source\ZipDB.mdb;"

0

당신이 ASP 파일을 실행 위치에 대한 상위 디렉토리의 상대에 데이터베이스를 저장할 있습니다. 그렇지 않으면 브라우저의 URL을 통해 데이터베이스를 사용할 수 있습니다.

또한이 작업을 수행하려면 IIS에서 '상위 경로 허용'을 사용하도록 설정해야합니다.

관련 문제