In case someone needs a skeleton sink for ADODB.Connection events:class ADOConnectionEventSink { function BeginTransComplete( $translevel, $objerror, $status, $objconn ) { return 0; } function CommitTransComplete( $objerror, $status, $objconn ) { return 0; } function RolbackTransComplete( $objerror, $status, $objconn ) { return 0; } function WillConnect ( $ConnectionString, $userid, $psword, $options, $status, $objconn ) { return 0; } function ConnectComplete ( $objerror, $status, $objconn) { return 0; } function Disconnect( $status, $objConn ) { return 0; } function WillExecute ( $src, $cursortyp, $locktyp, $options, $status, $objcomm, $objrs, $objconn ) { return 0; } function ExecuteComplete ( $recaffected, $objerror, $status, $objcomm, $objrs, $objconn ) { return 0; } function InfoMessage ( $objerror, $status, $objconn) { return 0; }}// later on...$db = new COM("ADODB.Connection", NULL, $charPage);$sink = new ADOConnectionEventSink();com_event_sink($db, $sink, "ConnectionEvents");//...