Compiling the component, running REGSVR32 MyDLL.dll
2. Name and explain the different compatibility types when creating a COM component.
No Compatibility ? New GUID created, references from other components will not work
Project Compatibility ? Default for a new component
Binary Compatibility ? GUID does not change, references from other components will work
3. Why is it important to use source control software for source code?
Code ownership: Multiple people can not modify the same code at the same time.
4. What two methods are called from the ObjectContext object to inform MTS that the transaction was successful or unsuccessful?
SetComplete and SetAbort.
5. What is the tool used to configure the port range and protocols for DCOM communications?
6. What does Option Explicit refer to?
All variables must be declared before use. Their type is not required.
7. What are the different ways to Declare and Instantiate an object in Visual Basic 6?
Dim obj as OBJ.CLASS with either
Set obj = New OBJ.CLASS or
Set obj = CreateObject(?OBJ.CLASS?) or
Set obj = GetObject( ,? OBJ.CLASS?)
Dim obj as New OBJ.CLASS
8. Name the four different cursor types in ADO and describe them briefly.
The cursor types are listed from least to most resource intensive.
Forward Only ? Fastest, can only move forward in recordset
Static ? Can move to any record in the recordset. Data is static and never changes.
KeySet ? Changes are detectable, records that are deleted by other users are unavailable, and records created by other users are not detected
Dynamic ? All changes are visible.
9. Name the four different locking type in ADO and describe them briefly.
LockPessimistic ? Locks the row once after any edits occur.
LockOptimistic ? Locks the row only when Update is called.
LockBatchOptimistic ? Allows Batch Updates.
LockReadOnly ? Read only. Can not alter the data.
10. Describe Database Connection pooling (relative to MTS )
This allows MTS to reuse database connections. Database connections are put to ?sleep? as opposed to being created and destroyed and are activated upon request.
11. What are the ADO objects? Explain them. Provide a scenario using three of them to return data from a database.
Connection ? Connects to a data source; contains the Errors collection
Command ? Executes commands to the data source. Is the only object that can accept parameters for a stored procedure.
Recordset ? The set of data returned from the database.
Scenario: There are many possibilities. The most likely is as follows:
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Cmd As ADODB.Command
conn.ConnectionString = ?CONNECTION STRING?
Set Cmd.ActiveConnection = conn
Cmd.CommandText = ?SQL STATEMENT?
Set rs = Cmd.Execute
Set rs.ActiveConnection = Nothing
12. Under the ADO Command Object, what collection is responsible for input to stored procedures?
The Parameters collection.
13. What are some benefits of using MTS?
Database Pooling, Transactional operations, Deployment, Security, Remote Execution.
14. What is the benefit of wrapping database calls into MTS transactions?
If database calls are made within the context of a transaction, aborting the transaction will undo and changes that occur within that transaction. This removes the possibility of stranded, or partial data.
15. Describe and In Process vs. Out of Process component. Which is faster?
An in-process component is implemented as a DLL, and runs in the same process space as its client app, enabling the most efficient communication between client and component.Each client app that uses the component starts a new instance of it.
An out of process component is implemented as an EXE, and unlike a dll, runs in its own process space. As a result, exe's are slower then dll's because communications between client and component must be marshalled across process boundaries. A single instance of an out of process component can service many clients.
15. What are the main components of the ADO object model? How are they used?
Connection: Used to make a connection between your app and an external data source, ie, sql server.
Command: Used to build queries, including user-specific parameters, to access records from a data source (which are returned in a Recordset)
Recordset:Used to access records returned from an SQL query. With a recordset, you can navigate returned records. You can also add, modify or delete records.