I'm using MSSQL database as datastorage. I want to warn Robot users that this solution is not the best at all. Try to avoid it if you can: it works really slowly, Robot does not have powerful tools to deal with databases (because it is not a prgramming tool!). Retrieveing data form database is a headache: I have to use global arrays, because there is no way to construct function returning array in Robot. And what happens to memory with these arrays - easy to imagine.
All this is done in order just to be able to use database which is used by other testers (they're not using Robot), so that it would be easy to create reports... Cool idea! Now our reports are fine, but our tests are ugly. Using databases like MSSQL, Oracle, MySQL for Robot sounds like the worst solution for me.
Occasionally I use the datapools in Rational but only if I need a large number of records. Otherwise I create my records in Excel and save them as csv files. This way they are easy to edit through Excel and easy to code in Rational.
DC Interact Commerce Corporation
If you are interested in accessing your data in the same way for all (ie. using the same functions to access, navigate through data in xls, csv, txt, databases and datapools using sequential, random or shuffled access) you should take a look at the DataServicesLibrary on the Rational Users site http://groups.yahoo.com/group/RationalUsers/ under Files/Libraries
Function dsOpenData(dtSend as Datasource) as Integer
Function dsCloseData(dtSend as Datasource) as Integer
Function dsGetColumnCount(dtSend as Datasource) as Integer
Function dsGetRowCount(dtSend as Datasource) as Integer
Sub dsMoveFirst(dtSend as Datasource)
Sub dsMoveLast(dtSend as Datasource)
Sub dsMoveNext(dtSend as Datasource)
Sub dsMovePrevious(dtSend as Datasource)
Function dsEOR(dtSend as Datasource) as Integer
Function dsGetRecord(dtSend as Datasource, Column as Variant) as String
Function dsGetRandomRecord(dtSend as Datasource, column as Variant) as String
Function dsGetColumnName(dtSend as Datasource, index as Integer) as String
Function dsShuffleData(dtSend as Datasource) as Integer
Function dsLogFileCompare(sBaselineFile, sActualFile, sVPName, sFileType) as Integer