Saluti a tutti non riesco a capire l'errore:

codice:
$pathT= "db/" ;
$path=realpath($pathT);

/****
identifichiamo il database
****/
$db_name= "/newsletter.mdb" ;
$dsource=$path.$db_name ;

/****
Come sempre la stringa di connessione
****/
$cn_string="Provider=Microsoft.Jet.OLEDB.4.0;" ;
$cn_string.="Data Source=$dsource;" ;

/****
Istanzio un oggetto Connection e apro la connessione con il database atraverso il metodo Open() dell'oggetto. Il metodo prende come argomento la stringa di connessione, oppure il DSN quando c'è.
****/

if (!file_exists($dsource) ){
echo $dsource;
die("Il database non esiste") ;

}

$cn= new COM("ADODB.Connection");

if($errore==0){
	$sql="INSERT INTO iscritti (nome, cognome, email, altro) VALUES('$nome', '$cognome', '$email', '$info')";
	echo $sql;
	$rsInsert= new COM("ADODB.Recordset") ;
	$rsInsert->Open($sql,$cn) or die();
	
}
Questo l'errore:
Warning: (null)(): Invoke() failed: Eccezione. Source: ADODB.Recordset Description: Operazione non consentita per un oggetto che fa riferimento a una connessione chiusa o non valida. in c:\root_php\www\may-day\def\newsletter\iscrgo.php on line 15
La linea 15 sarebbe:
$rsInsert->Open($sql,$cn) or die();


Sapete dirmi dove sbaglio?