Newsgroup: it.comp.lang.visual-basic
Titolo: WSH e connessione a DB ADO

Ciao,
spero questo non sia OT, in ogni caso
sto cercando di far girare uno script in VBScript con WSH che si connetta ad
un database Access e mandi una mail agli utenti.
Non sono molto esperto, ho creato un file .vbs in cui vorrei aprire la
connessione come sono solito far con VBScript in ASP:
Set objConn = Server.CreateObject("ADODB.Connection")
Quando lancio lo script WSH mi da un errore:
Necessario oggetto: 'Server'
Come posso risolvere?
Grazie a tutti,
Marco.

Necessario oggetto: 'Server'
mmm, sicuro di non fare confusione?
WSH e ASP in comune hanno solo il VBScript, ma sono due cose diverse.
Ti faccio una domanda: usi VBScript in ASP o con WSH?
Ciao

 Set objConn = Server.CreateObject("ADODB.Connection")
Senza Server.
In asp usi server perche' dici ad IIS di istanziare l' oggetto, specie se
stai lavorantdo con MTS, mentre in wsh non ce n' e' bisogno.
Quindi la chiamata diventa:
Set objConn = CreateObject("ADODB.Connection")
Ciao
Aldo

 wrote in message
_jbY5.7078$x_2.4...@twister1.tin.it...

Effettivamente sono un principiante: ti spiego meglio il problema.
Sto scrivendo un sito in ASP e devo fare eseguire una query su un DB access
e mandare una mail ogni volta che la query ha un certo esito. La cosa
migliore penso sia schedulare l'esecuzione di uno script sul server che
esegua la query e mandi la mail, tipo una volta al giorno.
Ho tolto, come consigliatomi, l'oggetto "server" e la connessione con il DB
ora funzione. Il problema resta l'email, in quanto io in genere in ASP uso
ASPEmail e VBScript, ma a quanto sembra (mi sembra anche ovvio dal nome)
questo non funziona in uno script VBScript in WSH.
Come posso mandare la mail dal VBScript+WSH?
Nota che uso Win98 e PSW per sviluppare il sito.
Grazie mille,
saluti, Marco.

saluti, Marco.
Allora, non sono un esperto di ASP e VBScript, comunque se usi ASP devi
usare
Server.CreateObject("ADOR.Recordset")
Lo uso io su Win95+PWS e funziona, al contrario non va senza il "Server".
Se usi WSH invecie non c'è si mezza il PWS ma il motore VBScript locale e
quindi "Server" non esiste.
Come inviare mail tramite WSH non so.
Non penso sia nemmeno possibile, a meno di fare una CreateObject() su
Outlook (non Express), o se hai la possibilità ti fai un AxtiveX DLL in VB
che riesca a inviare mail e poi usi su quello.
Ciao

Come inviare mail tramite WSH non so.
una Class che faccia da wrapper ad un controllo Winsock, ad esempio (non
avendo a disposizione un class browser nonche' la RFC sul protocollo SMTP non
posso completarlo, anche se sarebbe bello):
Class SendMail
Private Const SMTP_PORT = 25
Private Const SMTP_HELO = "HELO %s"
Private Const SMTP_MAIL = "MAIL FROM:<%s>"
Private Const SMTP_RCPT = "RCPT TO:<%s>"
Private Const SMTP_DATA = "DATA"
Private Const RETURN = Chr(10) + Chr(13)
Private Winsock
Private Sub Class_Initialize
Set Winsock = WScript.CreateObject("MSWinsock.Winsock", "Socket")
Winsock.RemotePort = SMTP_PORT
End Sub
Private Sub Class_Terminate
Set Winsock = Nothing
End Sub
Public Property Let Host(vData)
Winsock.RemoteHost = vData
End Property
End Class

 Come posso risolvere?
CreateObject, in ASP, è un membro di Server... con VBScript 'liscio' puoi
chiamarlo tranquillamente senza specificare la classe di appartenenza
es.:
Set objConn = CreateObject("ADODB.Connection")
Ciao
Faber