my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Libro WP7
|
Libro HTML5
|
Corso on-site HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Lab
Media
Tutorials
Corsi
Libri
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
ASP con XP Pro
in
Classic ASP
>
ASP - avanzato
Ultimo messaggio
1
2
>>
umbertobertolini
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
Rispondi
Quoting
rome
il 6 gennaio 2005 alle 02:32
2.907 messaggi
dal 15 maggio 2001
Contributi
posta il codice che hai usato..
-¦»
Gabriele Romeo
«¦-
>
Community Manager
> [b]
Content Editor
[/
Rispondi
Quoting
rome
il 6 gennaio 2005 alle 02:34
2.907 messaggi
dal 15 maggio 2001
Contributi
dimenticavo, se utilizzi Norton occhio al Block Script
-¦»
Gabriele Romeo
«¦-
>
Community Manager
> [b]
Content Editor
[/
Rispondi
Quoting
umbertobertolini
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
Rispondi
Quoting
rome
il 6 gennaio 2005 alle 11:57
2.907 messaggi
dal 15 maggio 2001
Contributi
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()
-¦»
Gabriele Romeo
«¦-
>
Community Manager
> [b]
Content Editor
[/
Rispondi
Quoting
umbertobertolini
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
Rispondi
Quoting
rome
il 6 gennaio 2005 alle 20:22
2.907 messaggi
dal 15 maggio 2001
Contributi
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 !
-¦»
Gabriele Romeo
«¦-
>
Community Manager
> [b]
Content Editor
[/
Rispondi
Quoting
umbertobertolini
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
Rispondi
Quoting
1
2
>>
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
Libri
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
E-commerce
OT
Commenti: blogs e notizie
Eventi
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.
In primo piano
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Rilasciato il bollettino MS11-100 per risolvere i problemi di attacchi DoS di ASP.NET
I più letti di oggi
Windows Phone 7.5 Developer Day: costruire un'app in 60 minuti
Windows Phone 7.5 Developer Day: costruire app con Visual Studio 2010 e Windows Phone Runtime
Zip e ASP.NET
Windows 8 su ARM: avrà il desktop, Office e il connected standby
Windows Phone 7.5 Developer Day: marketplace e strumenti per monetizzare le app
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Visual Basic 2010
Media
Windows Phone 7.5 Developer Day: marketplace e strumenti per monetizzare le app
Windows Phone 7.5 Developer Day: costruire app con Visual Studio 2010 e Windows Phone Runtime
Tutti i media
In evidenza
Il meglio della settimana
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Sviluppare applicazioni per Windows Phone: scopri come fare con il nostro nuovissimo libro!
Sviluppa le applicazioni del futuro oggi: impara con il nostro libro HTML5 Espresso!
Community Days 2012 - Milano
Windows 8 su ARM: avrà il desktop, Office e il connected standby
Rilasciato Entity Framework 4.3
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network