| Chapter |
Page |
Details |
Date |
Print Run |
| |
19 |
Missing
text Due to a printing error, page 19 was replaced with a
duplicate of page 18. Here is the missing text:
Choosing a Data Access Technology
In this section, we'll look at how we can choose which kind of
database access technology is the most suitable for our
applications. We've seen how there are two basic approaches to
designing a data access application for the Web: the thin client
approach, using just an interface on the client and doing all the
work in the server, and fat client architectures such as the
networked PC.
Going Down the Thin Road
The thin client architecture is the one that is currently used
almost exclusively on the Web at present for accessing server-side
databases. If you've used the ISQL (or ISQLw) applications that are
supplied with SQL Server, you'll have seen how this works in a
traditional network environment. ISQL is a simple interface
application that allows you to enter SQL statements and send them to
a SQL Server.
Instead of requesting the entire contents of a table and
extracting information on the client, you can provide a query that
just returns the data you need. The query processing is done on the
server, and only the results are sent back over the network to be
displayed within ISQL. And because you can define an ODBC driver
connection to a SQL Server database across the Internet, ISQL can be
used to access a SQL Server database from a remote location, outside
the confines of the office network.
On the Web, we see the same technique in use. The browser
requests a Web resource, often providing query information such as a
SQL string or the name of a stored procedure. The results
are
|
02-Jun-98 |
1 |
| |
42 |
Text
error The second sentence under the heading Creating
Components with Java and J++ is misleading. It currently
reads:
J++... provides features that let you create
components and them wrap them up with a COM interface to allow
them to be used within the DNA environment -- a technology
called Java Beans. In fact, the technology used is not
Java Beans, and is instead a mechanism in the MS Java Virtual
Machine that allows J++ components to imitate COM components.
|
06-Jan-99 |
1 |
| |
56 |
Text
error The final sentence in the section called "Setting
Component Version Compatibility" is to be ignored. The sentence, as
it stands, reads: "The standard way of doing this...... .....set
the option back to Binary Compatibility." This is incorrect.
|
22-Jul-98 |
1 |
| |
71 |
Incorrect
ISBN no. for Professional Active Server Pages 2 The number
should read:
ISBN 1-861001-26-6
|
22-Jul-98 |
1 |
| |
92 |
Value
name error The section "Using ASP To Start A Transaction"
contains value names with descriptions attached. The final value:
"Not_Supporte" suffered a printing error, and should read:
"Not_Supported" with a "d" at the end. This mistake was corrected in
the 2nd edition.
|
22-Jul-98 |
1 |
| |
114 |
Text
error The table at the bottom of this page (114) contains
two errors. In the "From" column, the values: "TblColor.ID" &
"TblColor.ID" should both begin with a lower-case "t".
|
22-Jul-98 |
1 |
| |
117 |
Diagram
& text error The diagram on page 117 is incorrect. The
correct diagram can be found on page 206 (it looks the same, except
in the "new" diagram the steps are numbered).
Back to page
117. In the text that follows the diagram, there are 4 bullet
points. The last of these ("WCCOrder") finishes with the sentence:
"This is both steps 1 and 3."
This should be replaced with
"This is steps 2 and 3."
|
22-Jul-98 |
1 |
| |
120 |
Code
error The second line of code at the top of page 120 will
not run correctly if entered as it currently appears. At present it
looks as though "asCmdStoredProc" (on line three of the text) is to
be entered on a separate line. This is not right.
The code
should read:
recCars.Open "usp_cars", varConn, adOpenStatic, adLockReadOnly, adCmdStoredProc
|
22-Jul-98 |
1 |
| |
122 |
Code
error The code at the top of page 122 will not run correctly
if entered as it currently appears. At present it looks as though
adParamInput, 8, CarID) (on line two of the code text)
is to be entered on a separate line. This is not right. Also, there
is a space after "Append" in the first line which shouldn't be
there.
The code should read:
.Parameters.Append.CreateParameter("@CarID", adInteger, adParamInput, 8, CarID)
|
22-Jul-98 |
1 |
| |
135 |
Text
error In the last line of the page (135),
TRANSACTIONS=Requires_New should read:
TRANSACTION=Requires_New without the
"S".
Additionally, replace the word "set" with the word "use"
|
22-Jul-98 |
1 |
| |
142 |
Text
error In the centre of the page (142), the paragraph ending
with: "-in this case we store the ID of the car in column
5" should read: "-in this case we get the ID of the car from
column 5"
|
22-Jul-98 |
1 |
| |
146 |
Code
error The code in the centre of page 146 appears to consist
of 4 lines of code, when in fact it is only 2. Either:
A:
The first and second, and the third and fourth lines should be
written as two complete lines.
B: The code should be written
thus:
sHeadOffice = "driver={SQL Server}; server=Tigger; UID=sa; PWD;"_
&"database=WroxCarCoHeadOffice"
sShowroom = "driver={SQL Server}; server=Piglet; UID=sa; PWD=;"_
&"database=WroxCarCo"
|
23-Jul-98 |
1 |
| |
152 |
Code
error The code section in the middle of page 152 contains
"broken code", where the line beginning:
sShowroom =
"driver={SQL server}; ....
has spilled over onto the
following line.
To ensure the code works correctly, use
this:
sShowroom = "driver={SQL server}; server=Piglet;
UID=sa; PWD=;"_ &"database=WroxCarCo"
|
27-Aug-98 |
1 |
| |
197 |
Code
error There is a small error in line 6 of the code box at
the bottom page:
objMessage.Label = "finance quote on "_
& FormatDateTime(Now, vGeneralDate)
should
read:
objMessage.Label = "finance quote on "_
& FormatDateTime(Now, vbGeneralDate)
i.e.
vGeneralDate should read
vbGeneralDate.
|
06-Jan-99 |
1 |
| |
225 |
Text
Error In the first line of the section "Creating an Order",
the sentence begins: "Having changed the head office ordering
component to ...."
It should read: "Having changed the
showroom ordering component to ...."
|
22-Sep-98 |
1 |
| |
229 |
Code
error The code section just below halfway in the page is
broken. It should read:
Private Sub
evtResponse_Arrival(ByVal Queue As Object, _ ByVal Cursor As
Long)
|
27-Aug-98 |
1 |
| |
241 |
Diagram
and Text error The 2 diagrams at the top of 241 are in the
wrong order. As they currently appear in the book, we will call the
top diagram (according to the Delivery Date) <7/4>. The second
diagram we will call .
The top of the page
should be laid-out thus:
Once head office have processed the
order, the grid is updated with the head office details. If you
picked a car that was out of stock (the Esquel GTXi in Red starts
out this way) then you'll notice that head office give an order
number, but do not confirm the delivery date:
If the car was in stock, the delivery date is
confirmed:
<7/4>
Again, if you were
quick.......
(page now continues as
normal)
|
27-Aug-98 |
1 |
| |
285 |
Diagram
Error There is an error in the diagram at the top of the
page. It shows the client and server exchanging ROOT
certificates. This is not the case. In step 2, the server sends
its own SERVER certificate to the client, which the client
validates against its own copy of the relevant ROOT certificate.
In step 4 the client sends its own CLIENT certificate to the
server, which the server validates using its own copy of
the relevant ROOT certficate. The text on the previous page
describes the process.
|
23-Jun-98 |
1 |
| |
321 |
Diagram
Error
The line from Process B to Object C should be
labeled Calls a method on object Cand not Creates a method
on object.
|
11-Jan-99 |
1 |
| |
423 |
Error
in table "IsolationLevelEnum", pages 423 & 424; Appendix B
The descriptions for adXactChaos,
adXactCursorStability, adXactIsolated and
adXactSerializable are incorrect. The correct table is shown
in its entirety below. Note that all names begin with a lower case
"a".
|
Name |
Value |
Description |
adXactBrowse
|
256 |
Indicates that from one transaction you can view
uncommitted changes in other transactions |
adXactChaos
|
16 |
Default. Indicates that you cannot overwrite pending
changes from more highly isolated
transactions |
adXactCursorStability
|
4096 |
Default. Indicates that from one transaction you can view
changes in other transactions only after they have been
submitted |
adXactIsolated
|
1048576 |
Indicates that transactions are conducted in isolation of
other transactions |
adXactReadCommitted
|
4096 |
Same as adXactCursorStability |
adXactReadUncommitted
|
256 |
Same as adXactBrowse |
adXactRepeatableRead
|
65536 |
Indicates that from one transaction you cannot see changes
made in other transactions, but that requerying can bring new
recordsets |
adXactSerializable
|
1048576 |
Same as adXactIsolated |
adXactUnspecified
|
-1 |
Indicates that the provider is using a different
<B>IsolationLevel</B> than specified, but that the
level cannot be
identified |
|
21-Jul-98 |
1 |