| Ultimo messaggio | 2 pagine: [1] 2 Avanti >>
ASP con XP Pro
umbertobertolini
umbertobertolini non è online. Ultima attività: 16/01/2005 12.40.32umbertobertolini
il 6 gennaio 2005 alle 01:51
6 messaggi dal 17 marzo 2004
Ho difficoltà a usare il mio sito in asp in locale con XP Pro (in remoto on line funziona perfettamente ed anche in locale con Win ME). L'errore è:
Errore di run-time di Microsoft VBScript (0x800A01A8)
Necessario oggetto: 'DBRecordSet(...)'
/hazi.biz/includes/manager-inc.asp, line 305

Non trova evidentemente il db. Eppure ho cercato di dare il percorso in vario modo: indirizzo preciso, cartella virtuale ... Qualcuno sa se c'è un qualche settaggio particolare per IIS, qualcosa che lo differenzi profondamente da Win ME ad esempio per il riconoscimento dei percorsi o anche nel rapporto con i DB (in questo caso è un DB in Access)
Grazie
Umberto
Re: ASP con XP Pro
rome
rome non è online. Ultima attività: 15/07/2008 4.05.20rome Top Poster
il 6 gennaio 2005 alle 02:32
Contributi | 2.907 messaggi dal 15 maggio 2001
posta il codice che hai usato..

-¦» Gabriele Romeo «¦-
> Community Manager
> [b]Content Editor[/
Re: ASP con XP Pro
rome
rome non è online. Ultima attività: 15/07/2008 4.05.20rome Top Poster
il 6 gennaio 2005 alle 02:34
Contributi | 2.907 messaggi dal 15 maggio 2001
dimenticavo, se utilizzi Norton occhio al Block Script

-¦» Gabriele Romeo «¦-
> Community Manager
> [b]Content Editor[/
Re: ASP con XP Pro
umbertobertolini
umbertobertolini non è online. Ultima attività: 16/01/2005 12.40.32umbertobertolini
il 6 gennaio 2005 alle 09:33
6 messaggi dal 17 marzo 2004
Grazie
Ho tolto il Block Script da Norton
Codice:
File di configurazione
Const DB_MAIN = "main.mdb"
Const GLOBAL_SITE_DATABASE_PATH = "c:\inetpub\Wwwroot\hazi.biz\mdb-database\"

File manager-inc.asp
Set oCn = DBConnexion(DB_MAIN)


Funzione di apertura del db
Function DBConnexion(sDBName)
Dim oPoolCn

If Not IsObject(oPoolConnection) Then
Set oPoolConnection = Server.CreateObject("Scripting.Dictionary")
End if

'if not present, open connection and add it to the dictionary
If Not oPoolConnection.Exists(sDBName) Then
Set oPoolCn = DBTrueConnexion(sDBName)
oPoolConnection.Add sDBName, oPoolCn
End If
Set DBConnexion = New ConnectionPool
DBConnexion.ConnectionName = sDBName
End function

' Gives a database's connection
' IN : sDBName (string) : database's name
' OUT : (Object) : Connection
Function DBTrueConnexion(sDBName)
Dim oCn, sConnString, oFs, sDBPath

sDBPath = GLOBAL_SITE_DATABASE_PATH 'sDBPath = Server.MapPath(GLOBAL_SITE_DATABASE_PATH)

Set oCn = Server.CreateObject("ADODB.Connection")

Select case GLOBAL_DB_TYPE
case "MSACC"
sConnString = "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & sDBPath & "\" & sDBName
if GLOBAL_DB_PASSWORD <> "" then
sConnString = sConnstring & ";PWD=" & GLOBAL_DB_PASSWORD
end if
case "MYSQL"
sConnString = "driver=MySQL ODBC 3.51 Driver;server=" & GLOBAL_SITE_DATABASE_PATH & ";uid=" & GLOBAL_DB_LOGIN & ";pwd=" & GLOBAL_DB_PASSWORD & ";database=" & sDBName
case Else
sConnString = "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & sDBPath & "\" & sDBName
if GLOBAL_DB_PASSWORD <> "" then
sConnString = sConnstring & ";PWD=" & GLOBAL_DB_PASSWORD
end if
End Select

On Error Resume Next
oCn.Open sConnString
If Err.number <> 0 Then
Response.Write "<br>" & GetTranslation("LANG_SQL_ERROR")
If IsAuthorizedBin(ROLE_ADMINISTRATOR) Then
Response.Write " " & Err.number & ": " & Err.Description & "<br>"
Response.Write "Connection String : " & sConnString & "<br>"
End If
Err.Clear
End If
On Error Goto 0

Set DBTrueConnexion = oCn
End Function


Pensavo cosa utile reinstallare IIS ...
Umberto
Re: ASP con XP Pro
rome
rome non è online. Ultima attività: 15/07/2008 4.05.20rome Top Poster
il 6 gennaio 2005 alle 11:57
Contributi | 2.907 messaggi dal 15 maggio 2001
Ovviamente quando richiami la funzione Dbconnexion passi il nome del database come parametro giusto ?
L'errore fa riferimento ad una chiamata a DBRecordSet() che xò non scorgo nella porzione di codice che hai postato...
Si trova attorno alla riga 305 del tuo codice...
Dovresti postare la parte di codice in cui usi DBRecordSet()

-&brvbar;» Gabriele Romeo «&brvbar;-
> Community Manager
> [b]Content Editor[/
Re: ASP con XP Pro
umbertobertolini
umbertobertolini non è online. Ultima attività: 16/01/2005 12.40.32umbertobertolini
il 6 gennaio 2005 alle 19:38
6 messaggi dal 17 marzo 2004
La funzione nella quale viene segnalato l'errore è questa:
Function VerifySecuredPassword()
Dim oCn, oRs, rSQL, sTemp

sTemp = ""

rSQL = "SELECT uPassword FROM users WHERE uRole=" & ROLE_ADMIN
Set oCn = DBConnexion(DB_MAIN)
Set oRs = DBRecordSet(oCn, rSQL)
If Not oRs.EOF Then
sTemp = oRs(0)
End If
If sTemp = "xxxxxxxx" Then
VerifySecuredPassword = true
else
VerifySecuredPassword = false
End If
oRs.Close
Set oRs = Nothing
oCn.Close
Set oCn = Nothing
End Function

L'errore è all'istruzione "Set oRs = DBRecordSet(oCn, rSQL)"
che manda alla funzione seguente
' Gives a recordset from oCn, query rSQL
' IN : oCn (Object) : database's connection
' : rSQL (string) : query
' OUT : (Object) : recordset
Function DBRecordSet(oCn, rSQL)
On Error Resume Next
if TypeName(oCn) = "ConnectionPool" then
Set DBRecordSet = oPoolConnection.Item(oCn.ConnectionName).Execute(rSQL)
else
Set DBRecordSet = oCn.Execute(rSQL)
end if
If Err.number <> 0 Then
Response.Write "<br>" & GetTranslation("LANG_SQL_ERROR")
If IsAuthorizedBin(ROLE_ADMINISTRATOR) Then
Response.Write " " & Err.number & ": " & Err.Description & "<br>"
Response.Write "SQL : " & rSQL & "<br>"
End If
Err.Clear
End If
On Error Goto 0
End Function

Non l'ho inviata in precedenza perché ho l'impressione che il problema è nel collegamento generico ai database. In nun altro caso in cui tento di aprire direttamente un database (
Set cnn1 = Server.CreateObject("ADODB.Connection")
openStr = "driver={Microsoft Access Driver (*.mdb)};" & "dbq=" & Server.MapPath ("database\contatore.mdb"
cnn1.Open openStr,"",""
)
mi dà come errore Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver ODBC Microsoft Access]Errore generale. Impossibile aprire la chiave 'Temporary (volatile) Jet DSN for process 0xde4 Thread 0xf28 DBC 0x1010064 Jet' del Registro di sistema.

Grazie per la pazienza perché probabilmente si tratta di una sciocchezza legata alla mia inesperienza su IIS
Umberto
Re: ASP con XP Pro
rome
rome non è online. Ultima attività: 15/07/2008 4.05.20rome Top Poster
il 6 gennaio 2005 alle 20:22
Contributi | 2.907 messaggi dal 15 maggio 2001
Svelato l'arcano

Se mi dici che prima evitavi di usare quella funzione i conti sul primo tipo di errore sono fatti !
Ovviamente non potendo istanziare un nuovo oggetto di tipo DBRecordset diceva "Necessario oggetto: 'DBRecordSet(...)'"

Il secondo errore invece è legato ai permessi della directory in cui si trova il tuo database ! Dagli i permessi di lettura e scrittura e dovresti aver risolto !

-&brvbar;» Gabriele Romeo «&brvbar;-
> Community Manager
> [b]Content Editor[/
Re: ASP con XP Pro
umbertobertolini
umbertobertolini non è online. Ultima attività: 16/01/2005 12.40.32umbertobertolini
il 7 gennaio 2005 alle 01:31
6 messaggi dal 17 marzo 2004
Non ho capito quale sia il primo tipo di errore; nel database ci sono anche i dati dell'admin compresa la pw, quindi non capisco mperché non debba leggere il db né tantomeno perché non trovi i dati che comunque ci sono.
Ho settato i permessi, mi sembra che ci siano ma l'errore del secondo caso rimane lì.
So che deve funzionare (ho già provato alcuni mesi fa e tutto funzionò, ora invece sembra tutto bloccato.
Grazie
Umberto

2 pagine: [1] 2 Avanti >>  

Torna al forum |   Feed RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
COMMUNITY
ULTIMI MESSAGGI
UTENTI ONLINE
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2010.3.1