Average Customer Review:    
| A must for using Perl and DBI! |      | The only moan I have is that it didn't come out earlier.The shop where I work asked me to cost a project using Perl as the back end for a T1 sales feed into an Oracle DB. They wanted to know if they could buy a package to do this. After a little research, I fell over the DBI. They were amazed at the "cost", and delighted with the speed. I finally got the book about a week ago. Lo and behold, it also covered flat files. A large part of this shop's income comes from a custom doc library, flat files exported from many different DBs. So not only did the book aid with optimising the script I'd already written for the Oracle interface, but it's going to make all our lives easier for the next release of their commercial app. The book is extremely well-written. (In a past life, I was a tech writer. Nothing worse than a badly written techie book.) The flow is well thought out. Not being a DB meister, the first few chapters were extremely helpful. In my case (and I'm sure, many others as well), I had to get up on DBs in a large hurry. With the Cheetah book, I was able to do so. The examples given are concise, easy to follow, and they _work_. The latter point is invaluable. I would recommend this book to anyone who uses Perl and the DBI.
| A must for anyone serious about Perl DBI development |      | Programming the Perl DBI continues the long O'Reilly standard of providing accurate technical information for a reasonable price. If you develop or use Perl DBI, BUY THIS BOOK!Chapter 2:Humble beginning to start a Perl DBI book with how to use other types of data storage and retrieval features. I found this very enlightening as a solution to persistent data challenges not requiring a full database system. Chapter 3: A basic intro to SQL. Simple and to the point. Chapter 4-6 Describes development using Perl DBI. The information is excellent, as DBI is only an interface to the database systems. These chapters describe how to use the interface, the standard features supported, and expected results. Do you want to learn about reading BLOBs or binding output columns? Need to use bound input parameters? The information is all contained in these chapters. Chapter 7: I enjoyed the quick comparison between DBI (DBD::ODBC) and Win32::ODBC. Chapter 8: The description of DBD::Proxy and how to begin, is worth the price of the book. These simple pages make interfacing Linux to Win32 (NT/9[58]) easier to explain and do. The appendixes provide information about the DBI interface, what properties are available from which handle, also, a brief description of the drivers available. Good reading. I'd reference this section if selecting a database provider for a Perl solution. Enjoyed reading which driver supported what features. Is this information available in pod format, yes, however, this book provides it in one cover with an index. I'd check the driver pods for changes or additional features, as the development of DBD drivers continues. Interacting with a database system is a complex process. Using Perl DBI gives a standard interface to this complex process. This book does not explain how to use advance features of a particular database system. This is left to the reader and the large number of database references available. If you want to use a stored procedure with a trigger or execute a stored query, Programming the Perl DBI explains how to make the call, however, you'd need to know what to execute, and results to expected. As I stated in the beginning, this book is a must for anyone serious about using Perl DBI.
| What's There Is Good, But We Need More |     | This is a good DBI reference for experienced perl programmers. The authors give you a good road map in the introduction so that you can find what you need to accomplish your task. I needed to interface to an existing database so I skipped chapter 2 on alternative persistent storage mechanisms. Having prior experience with SQL, I also skipped chapter 3. Chapters 4-6 are where the majority of people are going to find useful information. There you will find good explanations on connecting to databases, executing SQL statements, and some advanced features such as binding variables. The authors give a good treatment of the various ways to execute queries with performance tradeoffs. Chapter 7 is only useful if you are working on a Windows platform. My database is on Solaris so this wasn't something that I needed. As I said, though, what's there is good, but I there is definitely something missing. I needed to be able to call Oracle stored procedures as well as executing simple SQL queries. It would be nice to include some examples of calling stored procedures using the major vendors: Oracle, Informix, Sybase, etc. This information is hard to come by on the web. There are subtleties in using inout parameters in stored procedure calls that require some extra work in perl. You have to size variables large enough to store the largest value that is in the database. Since perl handles all string sizes dynamically, I used sprintf to force the strings to be large enough before calling the stored procedure. I don't know if you would run into these issues with outher databases, but it would be good to have this information with the rest of this text. That would make this fine book complete.
|