In the process of moving back end data of one of our large application to SQL 2012 express.
currently:
ERP applications, built in VFP 9 SP2 application with native foxpro tables/dbc
ERP (warehouse management/inventory management/CRM application/Invoicing/ordering/fulfillment/ 296 forms
20 prgs (some are prg classes)
108 reports
17 classes (vcx) etc..
all controls are classed, and i do have a main bizobj class that handles alot of things for reporting, data writing, etc..
but, still all of the form do have their own methods/events that i have codes in them that some are for data handling/seeking/etc..
current tables are normalized very well (in my opinion)
Successfully, I wrote a small prg that will:
1- take each table and recreates it in SQL including the data structures
2- Recreate indexes for each table
3- uploaded/migrated the dbf data to each sql 2012 table using bulkxml load etc..
i know how to get data from sql, update, insert, etc.. all the goodies.
sweet.
Client count: 20 different businesses use this particular product (and growing)
Challenge:
only about 12 of the clients currently use the ERP with heavy data loading and alot of transactions.. the others have really minimal transactions.
those clients, most of them have about 4-10 warehouses (distribution offices) across the US, 50+ users, FoxWeb connection for web presence/portal, 4000+ customers they have.
those clients (the 12 master dealers), they are doing a lot of transactions especially on few tables (serial table, sales details, commission tables, residual tables, inventory transfer detail tables, purchase order receipt tables "serialized inventory").. So, In a year or so, some of those guys would need to archive some data etc.. and i am worried about performance etc..
And some, are already experiencing a slight performance in the data access part..
I am debating on keeping 2 version (dbf 'lite version') and (pro 'sql version') of the ERP.
The reason: I will charge different amount per ERP for the SQL version, than the DBF version. I am thinking, it is a marketing tactics and some of the 'lite' customers, have minimal hardware and do not have the $ to spend on descent servers (or workstation). and they have 2 or 3 users only..
what are your thoughts on handling 2 different data reading in one application.
would you have 2 different projects?
would you write the codes separately to handle data?
or should i just make the entire app SQL dependent?
i am lost on making that decision.
1- hybrid app for lite version and for sql version (a lot of coding and maintaining dbfs or sql depending on client and settings)
2- just go sql for all clients and migrate them and easier app to maintain and more robust
3- keep almost everything foxpro, and just move the big tables to sql so it is both for everyone?
any thoughts on this matter would be greatly appreciated...
Ali Koumaiha
TeknoSoft Inc.
Michigan
currently:
ERP applications, built in VFP 9 SP2 application with native foxpro tables/dbc
ERP (warehouse management/inventory management/CRM application/Invoicing/ordering/fulfillment/ 296 forms
20 prgs (some are prg classes)
108 reports
17 classes (vcx) etc..
all controls are classed, and i do have a main bizobj class that handles alot of things for reporting, data writing, etc..
but, still all of the form do have their own methods/events that i have codes in them that some are for data handling/seeking/etc..
current tables are normalized very well (in my opinion)
Successfully, I wrote a small prg that will:
1- take each table and recreates it in SQL including the data structures
2- Recreate indexes for each table
3- uploaded/migrated the dbf data to each sql 2012 table using bulkxml load etc..
i know how to get data from sql, update, insert, etc.. all the goodies.
sweet.
Client count: 20 different businesses use this particular product (and growing)
Challenge:
only about 12 of the clients currently use the ERP with heavy data loading and alot of transactions.. the others have really minimal transactions.
those clients, most of them have about 4-10 warehouses (distribution offices) across the US, 50+ users, FoxWeb connection for web presence/portal, 4000+ customers they have.
those clients (the 12 master dealers), they are doing a lot of transactions especially on few tables (serial table, sales details, commission tables, residual tables, inventory transfer detail tables, purchase order receipt tables "serialized inventory").. So, In a year or so, some of those guys would need to archive some data etc.. and i am worried about performance etc..
And some, are already experiencing a slight performance in the data access part..
I am debating on keeping 2 version (dbf 'lite version') and (pro 'sql version') of the ERP.
The reason: I will charge different amount per ERP for the SQL version, than the DBF version. I am thinking, it is a marketing tactics and some of the 'lite' customers, have minimal hardware and do not have the $ to spend on descent servers (or workstation). and they have 2 or 3 users only..
what are your thoughts on handling 2 different data reading in one application.
would you have 2 different projects?
would you write the codes separately to handle data?
Code:
if llSql
&& goSQLBizObj will handle data reading
lcCursor = goSQLBizObj.Seek(lcString,lcField,lcTable)
if used(lcCursor)
select (lcCursor)
if !eof()
&& we're on the record now...
endif
else
select myTable
set order to myIndex
if seek(lcString)
&& found
endif
endif
or should i just make the entire app SQL dependent?
i am lost on making that decision.
1- hybrid app for lite version and for sql version (a lot of coding and maintaining dbfs or sql depending on client and settings)
2- just go sql for all clients and migrate them and easier app to maintain and more robust
3- keep almost everything foxpro, and just move the big tables to sql so it is both for everyone?
any thoughts on this matter would be greatly appreciated...
Ali Koumaiha
TeknoSoft Inc.
Michigan