Why can't I open my DBF database?
Description
When you are working in the Alpha Anywhere IDE and have a project open, Alpha Anywhere always knows what databases are in your project. That's not true if no project is open, or the IDE is not running. Suppose your project has a table called customer. If you go to the interactive window and type
t = table.open("customer")
as opposed to
t = table.open("c:\mydata\customer.dbf")
then Alpha Anywhere initially tries to open a file called 'customer' and fails. So it then tries to resolve 'customer' to a full filename by using the function
table.filename_get("customer")
When the control panel is open, Alpha Anywhere can look into the control panel and then
table.filename_get("customer")
will return c:\mydata\customer.dbf. This is why
t = table.open("customer")
works when the control panel is open. When the app server is running, however, there is no control panel open. So, from the app server,
table.filename_get("customer")
returns "" because there is no way for Alpha Anywhere to resolve "customer" to get the fully qualified filename. The usual way of fixing this in a web application is to prefix the table reference with a path alias. See Path and Connection String Aliases for more information.