Try loading the data from the data base beforehand. JRules should be called with the loaded data and should return the result to the calling system which then stores the data back to the DB. A direct integration with the DB is not something I would recommend.
If the data from the DB doesn't change often and you can redeploy whenever a change happen, you can load the data into the BOM itself. If this is the case, you can load the data using the dynamic domain plug-in which inserts the data into your BOM, but as I said, this requires a redeployment of your RuleApp.