2011-10-16 2 views
1

Excel 스프레드 시트에 연결된 서버를 만들었습니다. 괜찮아요. SQL Server에서 쿼리 분석기에서 Excel 파일을 쿼리 할 수 ​​있습니다.ASP에서 SQL Server 연결된 서버가 작동하지 않습니다.

하지만 내 ASP 페이지에서이 링크 서버에 액세스하기 위해 노력하고있어 때

:

Set pishbini = Server.CreateObject("ADODB.Recordset") 

pishbini.ActiveConnection = MM_semmet_STRING 
pishbini.Source = "SELECT * FROM OPENQUERY(SemnanmetWeekly, 'SELECT * FROM [DayPish$]')" 
pishbini.CursorType = 0 
pishbini.CursorLocation = 2 
pishbini.LockType = 1 
pishbini.Open() 

SemnanmetWeekly 내가 내 ASP 페이지에서이 오류를 받고 있어요 SQL 서버에 연결된 서버의 이름입니다

'80040e14가'ODBC 드라이버 오류

Microsoft OLE DB 공급자

[Microsoft] [ODBC SQL Server 드라이버] [SQL 서버] OLE DB 공급자 "Microsoft.Jet.OLEDB.4.0"L에 대한 inked server "SemnanmetWeekly"가 반환되었습니다. 메시지 "응용 프로그램을 시작할 수 없습니다. 작업 그룹 정보 파일 이 없거나 다른 사용자가 독점적으로 열립니다. ".

/Daypish.asp, 라인 (15)

IUSR (IIS 사용자 것은) 파일을 엑셀에 대한 모든 권한을 가지고, 나는 모두와 함께 연주했다 가장 좋은 방법은 관리자 계정을 사용하여 파일을 가장하거나 액세스하는 것과 같지만 오류는 동일하게 유지됩니다.

이 서버에서는 관리 작업을 수행하기 때문에 코드를 변경하지 않는 것이 좋습니다. 이전 서버에서 작동했지만 새 서버로 이동 한 이후 작동을 멈췄습니다. 나는 여기에서 놓치고있다?

답변

1

권한과 관련이 없습니다. 나는 당신이 Windows 인증으로 SQL Server에 로그인했다고 생각합니다. 모든 것이 괜찮습니다. 당신은 보스입니다. 그러나 ASP의 연결이 SQL 인증을 받으면이 오류가 발생합니다. 따라서 다음과 비슷한 쿼리를 사용하여 연결된 서버 로그인을 추가해야합니다.

Exec master..sp_addlinkedsrvlogin 
@rmtsrvname = N'SemnanmetWeekly', 
@useself = N'False', 
@locallogin = N'sa', /* replace your own - same as sql server authenticated account */ 
@rmtuser = NULL, 
@rmtpassword = NULL 

그런 다음 당신은 당신의 ASP 응용 프로그램에서 SemnanmetWeekly에 연결할 수 있습니다.

+0

내 문제를 해결해 주셔서 감사합니다. 이제는 작동하지만 다른 문제가 있습니다. Excel 파일이 잠겨서 덮어 쓸 수 없습니다. SQL Server 나 IIS가 왜 그들을 잠그는가? –