Slashdot Mirror


E-commerce and Linux

paRcat asks: "My company is using a proprietary system for letting our customers order online. It takes the order, and as soon as they click submit, sends it on to our main system via a serial connection. Both systems are running on NT, and they die constantly. I've been pushing to get Linux in here, and I think replacing the online ordering server is the best way to start. Our catalog has around 25,000 items in it. It's held in an Access database right now... around 14 Megs. I suppose it could be converted, but every time a pricing update comes out, it's distributed in mdb format. What tools exist for Linux that can do what I need? It just needs to allow access to the database, take the order, and send it down the serial line. I was contemplating setting up mod_perl and just writing a bunch of code, but I'm still a bit new to PERL, and I'm not even sure if that's the best choice. " Apache, Perl/mod_perl and MySQL/Msql/PostgreSQL all sound perfect for this application, but the issue of getting the Access information (both the existing data and the future updates) might be a problem. Any ideas?

173 comments

  1. MySQL by fatboy · · Score: 1

    I think MySQL can import MS-Access databases, if not you can write an import asp script that will do it.

    --
    --fatboy
    1. Re:MySQL by httptech · · Score: 1

      I don't know of any tool to directly import an Access database into MySQL but it's trivial to
      export the data from Access as CSV or tab-delimited and then import it with mysqlimport.

      I think the hardest part of all this would be programming the serial interface.

    2. Re:MySQL by fatboy · · Score: 1

      I agree that the serial interface would be the biggest pain. I wonder if the API to their interface is avaliable. For that matter, I have found very little information on how to _PROPERLY_ speak to serial devices. Guess I havent looked hard enough ;)

      --
      --fatboy
    3. Re:MySQL by jono · · Score: 1

      Use ODBC to export the table to MySQL. This may thake a bit of time but you will only need to do it once.. Once tranfered you will need to add the key columns and auto increment fields again as Access does not export these (see Mysql documantation at http://www.tcx.se). Delete your table in Access and then attach with the odbc driver your new Mysql talbe. Done. Once in Mysql user Perl or Php or whatever to do the ecomerce stuff.. Easy

  2. Coverting between access... by Electronic+Rebel · · Score: 1

    Export, import.

    1. Re:Coverting between access... by lazlo · · Score: 2

      Well, the original problem seems to be that pricing updates come in mdb format. Although I can certainly agree with the original poster that I certainly wouldn't want to put an e-commerce server on NT, it seems to me that one NT workstation with a copy of MS Access shouldn't be too much of a problem. You create an mdb with linked tables, one linked to the file location where you will put your pricing updates, and one linked through the MySQL ODBC drivers to the MySQL (or PostgresSQL or whatever) databases. Then a little AutoExec macro, and you've got yourself an "update application".

      --
      Pound! Bang! Bin! Bash! is this a shell script or a Batman comic?
    2. Re:Coverting between access... by y2kill · · Score: 1

      heh :-)

  3. hahaha by mester · · Score: 0

    yet another lame first posting.
    but -the question is a fine one indeed and I'd surely like to get a few m$ based companies dealing in database solutions to look this way.

    "There should be a science of discontent. People need hard times and oppression to develop psychic muscles"

    --
    *y2k -Azathoths minions had it coming*
    1. Re:hahaha by fatboy · · Score: 0

      And YOU thought MY post was lame???

      --
      --fatboy
    2. Re:hahaha by fatboy · · Score: 1

      Doh!! I had to reread that, sorry.

      --
      --fatboy
    3. Re:hahaha by Anonymous Coward · · Score: 0

      Please try to make some sense.

  4. ODBC by Anonymous Coward · · Score: 0

    I believe there is a perl odbc driver.

  5. Access to MySQL by Lindus · · Score: 2

    One: Check http://www.mysql.org out. It answers a fair amount of the questions you might have already.
    Second: As far as I know there is a middleware to convert access databases to MySQL data. This should take care of the problem with two db's. The only problem would be that it is a total db dump so it could become more and more unwieldy as the db grows.

    Third: You can also connect the Access db to MySQL using MyODBC if so is needed http://www.mysql.org/Manual_chapter/manual_ODBC.ht ml#ODBC which should maybe make things a tad easier, but then again....

    With hopes this helps...
    /Lindus

    1. Re:Access to MySQL by karkle · · Score: 2

      I am not as familiar with Access as I am with SQL Server, which I just converted a fairly large database over to MySQL as our Y2k backup plan. I used Perl and ODBC on the WinNT side to extract all of the data out of the database and write it out to a comma-delimited file. This file is copied over to the Linux side and then use mysqlimport to insert the data in the database. It is not to bad, two Perl scripts and a cron job and it is completley automated. I do not trust Access as a scalalbe multi-user database at all, it was not made for that at all. I would definitely move to MySQL or SQL Server if you stay on the NT side.

  6. Access to MySQL by Lindus · · Score: 1

    Perhaps some advice is in order...

    First: Check http://www.mysql.org out. It answers a fair amount of the questions you might have already.

    Second: As far as I know there is a middleware to convert access databases to MySQL data. This should take care of the problem with two db's. The only problem would be that it is a total db dump so it could become more and more unwieldy as the db grows.

    Third: You can also connect the Access db to MySQL using MyODBC if so is needed http://www.mysql.org/Manual_chapter/manual_ODBC.ht ml#ODBC which should maybe make things a tad easier, but then again....

    With hopes this helps...
    /Lindus

  7. Access will do this via ODBC by Anonymous Coward · · Score: 2

    Just create a similair table on your mysql server. Then link the table into your access database (create a new, linked table w/ the ODBC drivers for mysql)

    Then just copy and paste.

    You can automate this in about 5 lines of visual basic.

    On the down side, you do need to do this on 95 or NT.

  8. Access Databases by Lando · · Score: 1

    Use ODBC to pull your information from the Access Database. Use the DBI module under perl. Installing mod-perl is pretty simple, but if you are not real familier you might want to just set it up as a standard cgi.

    Lando

    --
    /* TODO: Spawn child process, interest child in technology, have child write a new sig */
    1. Re:Access Databases by Anonymous Coward · · Score: 0

      I have 112 T-1's where I work....and not one og them is a conection to the internet, life sucks

  9. Interesting problem by avm · · Score: 1

    You might want to try exporting from Access as some form of ASCII delimited text. I've done Access->PostgreSQL like this with CSV (comma-separated values), but there were some glitches with regard to fields that were null. In any event, it appears that you'll have to keep a Windows box around, if they send updates as .mdb files.

  10. You're problem is Access.. not NT. by Anonymous Coward · · Score: 0

    Upsize the Access database to a SQL server. Only the insane use Access for anything bigger than 1 meg. That will solve your problem... not moving to some operating system that has hype left and right around it. Fix the problem, don't just look for the easy out, or else your next OS will be a C-64 because you heard that doesn't crash.

    1. Re:You're problem is Access.. not NT. by Anonymous Coward · · Score: 0
      ...or else your next OS will be a C-64 because you heard that doesn't crash.

      I sure had my C=64 crash on me, but that could have been my poor programing.

    2. Re:You're problem is Access.. not NT. by musique · · Score: 1

      Although I agree that Access is the problem, using Microsoft SQL Server is not the best thing, even though it is 1000 times better than Access. I would suggest looking into a "real" SQL Server, such as Oracle. Microsoft SQL Server has too many bugs and limitations. SQL 7 is not ready for the enterprise, it is bugged out beyond what should be tolerated (just check the Knowledge Base!)

      SQL 6.5 is much more stable. It has limitations, such as no more than 16 tables in a view/query, but it is preferable to 7 at this service pack.

      The suggestion of MySQL and Linux with ODBC using Access is not bad, as long as Access doesn't crash and/or hang as it's famous for doing. But if you use ODBC with MySQL, you could use lots of front ends/middle men: PERL in Linux or ASP in NT etc.

      Setting up a MySQL Server on Linux shouldn't be any more difficult than anything else, as this poster is suggesting. It may save you money in the front and you will learn something in the end. The cost of Linux is the cost of learning--a price always worth paying.

    3. Re:You're problem is Access.. not NT. by Anonymous Coward · · Score: 0

      False dilemma. The problem is both. There has never been a stable version of Windows, has there? Running a business on NT is not wise, even if some people manage to make it work. I write NT software for businesses, and my coworkers and I laugh all the time about how ludicrous our jobs are. Ignore the marketing buzz.

    4. Re:You're problem is Access.. not NT. by CableGuy · · Score: 1

      Yes, definately. Access is a desktop based single user Database, even then, I wouldn't use it for more than 10,000 records. Move to MS-SQL Server would be a good option, as the administration is 10x easier, unless you have DBA experience or have a full time DBA. Admin on Unix based DBs are a bit more difficult if you do not have prior DBA experience -> the most important factor is Database Backup and Recovery. Make sure whichever Database you choose, you have a good and well tested disaster recovery plan. We have our e-commerce site using SQL Server 6.5 sp5 (not moving to SQL 7.0 yet) and have over 20,000 records. So far (almost 2 years in operation), there has never been a problem on the database end, but the main e-commerce web server server running on NT occasionally hangs (due to the unstability of NT 4) If you do have a DBA, go for Oracle 8, definately more stable (but more $$$!)

    5. Re:You're problem is Access.. not NT. by Nail · · Score: 1

      Please don't listen to the "go to MS-SQL Server" people. A vendor said that to a company I worked for and it had more stability (but what doesn't have more stability than Access?), but it came with its own set of stupid problems. Keep it simple, use the MySQL/Linux combo and suck the access file into MySQL on a daily basis. I think you'll be pleased with the results, especially since your database is only 14 MB (upsize that to SQL Server?!? ridiculous!). Good luck!

      --
      ...yellow number five, yellow number five, yellow number five...
    6. Re:You're problem is Access.. not NT. by Anonymous Coward · · Score: 1
      A couple of notes about Oracle.

      I've installed Oracle on NT, Linux and Solaris. Oracle for Linux is riddled with bugs - both 8.0.5 and especially 8i. There are numerous patches and workarounds you must use, or it simply will not work.

      I was aghast at the quality level (or the lack thereof) of such an expensive piece of software. Even if the install goes well, you must understand that Oracle, by nature, uses up a LOT of resources. I've just finished installing 8i on a dual 500Mhz with 1gig RAM and raid0/raid5 (total 45gig) system. But once installed, it's faster than hell, and you have a huge amount of tools to do anything you want.

      The easiest install/most stable operation is on Solaris, where I was able to get it to work with 128MB RAM and 16gig raid.

      Oracle on NT is as much pain as it is unstable. Most of the fault lies in NT I'm sure. But we do use it because some 3rd party tools require NT.

      Oracle's nice if you got the money and the resources (no, maybe just money). But, what I like best is just a simple Linux/MySQL combo. This is also faster than a greased pig, but much much much easier than Oracle to implement. I mean I can install Linux in about 15 minutes and MySQL in about 5-10 minutes. Throw in Apache and PHP and I can have a development platform in less than an hour. And despite all the nifty tools Oracle has for storage management and data integrity and backup, I can write my own for MySQL easily.

    7. Re:You're problem is Access.. not NT. by Anonymous Coward · · Score: 2
      Absolutely correct, if data quality and database reliability are important to your company.

      I think it's clear from this thread that Access just isn't designed to run your enterprise. At best it's for non-DBA's to run simple databases for a relatively small number of users. So you're going to want to convert to a full-strength DBMS.

      The real problem with converting from Access to a real DBMS like MySQL is not in converting the data itself, but in converting the stuff that's not the data. An MDB file is not just tables of data, but an all-encompassing file that contains tables, queries, forms, reports, macros, and VB modules, etc.

      Any good database has rules which prevent invalid data from being entered. Just like any good program has good error handling to prevent any possible user entry from crashing the program. When you get bad data in your database the results are worse because you won't have any indication that your data is bad until it gets REALLY BAD, or painfully obvious. Not a good thing for business.

      The problem with Access is that it doesn't have a tool for managing all of these rules. They are hidden, partly in the table definitions, partly on your forms, partly in macros and VB modules, and partly in the "Relationships" view. A business-class DBMS will have a tool to manage all these rules and mechanisms in one place. It will also allow flexible rules. For example, you can relax the rules in order to import a table that you know contains errors, then it can find all the errors, separate them or fix them, and start enforcing the rules for all new data entry. Access just isn't that sophisticated, and what controls it has, as I mentioned, are not all in one place.

      The bottom line is that while it's easy to copy the data, it's very difficult to port over all of these hidden mechanisms that control data quality. That would require someone who knows a lot about Access, which I assume from your question that you are not (no offense). Your alternative is to copy the data to your favorite DBMS (MySQL, Oracle, or whatever), and then set up all your data integrity rules from scratch on the new system. That's probably what you'd end up doing anyway even if you could find all the hidden stuff in Access. It's also not a bad thing to do because it will force you to review and reconsider what data you are storing, how it is stored, how everything relates, what your data entry processes are, etc. That process is always a good thing. You would be wise to get help from a DBA.

      If you feel confident hacking a DBMS without a DBA, then more power to ya, but you would be wise to proceed cautiously with your company's data. Build the tables and rules in your new DBMS and test it extensively with test data. Make sure it not only works, but also robustly handles errors and bad data entry before you stake your business on it. If you don't believe that it's important to address data integrity issues, take a look at the Y2K problem/response/expense and realize that you can have the same problems with ALL of your data, not just the dates.

      If you aren't familiar with what data integrity/quality is, or how to maintain it, try the following links:

      Database Central

      DM Review

      Best of Luck.

  11. This should not be a problem by Anonymous Coward · · Score: 1

    You can handle this problem in a number of ways.
    1. You can export the Access table to a CSV file(comma separated value) and then import the file to the database(with database suplied tools or a script).
    2. PostgreSQL and probably all the other Open Source Databases have ODBC drivers available which allows MS Access to link directly to the database server.

  12. re: E-Commerce for Linux by Anonymous Coward · · Score: 0

    I think there is an ODBC driver for MySQL. Write an Access Macro that rips yer tables from and crams them through the ODBC handle in Access. If that doesn't git you goin' Try Oracle 8i for Linux. If ya can't get yer ODBC to talk to a Oracle database, you've got bigger problems than just MDB files...

  13. Suggestion: by Anonymous Coward · · Score: 0

    Call your local MSP (Microsoft Solution Provider). I'm sure they will find something for you to help you out. After all, if you're not part of the Microsoft Solution then you're part of the Linux Problem. Windows2000 sounds like an appropriate solution. It is an *enterprise class* operating system that has the best possible performance, reliability, security, ease of use, and the lowest total cost of ownership. So call your local MSP today and ditch that ancient and inferior UNIX or VMS forever!

    1. Re:Suggestion: by Telamon · · Score: 1

      Wow, that's real helpful. Let me summarize your post:
      "Linux sucks, Windows rules!!! Especially the version coming out in 3 months that's been delayed for over 2 years! It will be the greatest OS ever!"

      Linux, BSD, and NT are all scalable and reliable OS's as long as you have the right equipment and a competant SysAdmin, but it's not eh best solution for everything. Hell, even Microsoft uses UNIX over NT when it's better for the job (like in Hotmail)



    2. Re:Suggestion: by Anonymous Coward · · Score: 0

      If I had moderation points today this would be Funny!

    3. Re:Suggestion: by c-A-d · · Score: 1

      troll!!! Moderate this down please

      --
      some karma... and kinda lukewarm about it.
  14. roll your own solution by toast0 · · Score: 1

    mysql is a good databse,as others have mentioned, you can use access to connect to it...

    perl or php3 would probably be good choices for the language, as both are nice high level things that interact w/ databses easily

    i strongly recommend not attemtping to use minivend though, as its a major PITA to get working, and the documentation is old, brief, and in some cases wrong

  15. Converting Access to MySQL by Gene77 · · Score: 3
    I would suggest looking to use MySQL, and as you receive updates in your MDBs, use the ExportSQL script by Cynergi. If you're comfortable in VBA, you'll want to tweak it a little if you are to use it a lot. I've used it at work, so I know that it works fairly well.

    Access allows you to get away with somewhat sloppy data modeling, so you'll need to revisit the generated SQL and make sure you have all the "NOT NULL" and different data types in place as you need them (this can all be tweaked in the VBA without too much effort, but you should be knowledgable in VBA and SQL). You no doubt know that the MySQL data types are more specific than the data types used by Jet (the actual db engine Access uses). This means that you'll want to make sure that the column that was exported as "REAL" shouldn't really be "MEDIUMINT" instead.

    The script generates SQL files which can then be used against MySQL in batch mode. So with it, you can set up the VBA function to create the appropriate SQL for refreshing your tables whenever you receive a new MDB.

    My suggestion is to dump Access. It's nice for rapid devolopment, but if you're running an e-commerce thing with it, then I pity you. Not only would NT be your problem, but you'll have Access' sloppy page-level record locking and it's tendency to not release connections and record locks with the consistency e-commerce apps should have the right to expect.

    --
    "Man has always been his own most vexing problem." --Reinhold Niebuhr, "The Nature and Destiny of Man"
  16. PHP by MtnMan1021 · · Score: 1

    I know a lot of people are going to advocate PERL, but you should also look into the php ( http://www.php.net/ ) and mySQL combination.
    with php4/zend on the horizon, php is looking to be an increasingly robust and viable alternative to PERL.
    ----- --- - - -
    jacob rothstein

    --
    jacob rothstein reed college
  17. Suggestions by msuzio · · Score: 3

    Well, it sounds like a lot more research is needed before you're going to be able to present a convincing case. The NT side has a few things going for it:

    - It's there. He who gets there first has the home-field advantage
    - It handles the Access data import needs without any problems (or at least you didn't mention any)
    - The usual PHB tendency to swallow MS FUD(tm) will probably work against you.

    That having been said, here's a start on countering it and working up a case:

    - Definately look into ODBC or some sort of easy export from Access. I'm not familiar enough with the MS world to know a sure solution, but I imagine the worst case solution is some sort of pretty simple VBA scripting in Access to open the file and dump out selected records (or all records) in a nice format MySQL can import.

    - I agree that MySQL is probably a good client database. Don't rule out other options, however, you don't want to find MySQL doesn't fit your needs and then have to propose *another* change to management. PostGres has worked well for us in some applications, and is a little more full-featured than MySQL (although not as fast, and feature-wise it's actually a pretty close race). Oracle on Linux is even a possible choice, but you haven't mention budget or database size. Since it's coming from Access, I'll assume it's a small database -- in that case, MySQL looks pretty good.

    - Web server: Apache or Stronghold if you need SSL. We just started using Stronghold, and so far it seems dead easy (much better than Netscape Enterprise Server which was the only SSL solution we had tried before this). It's not expensive as far as SSL solutions go, and it seems to track Apache releases pretty well.

    - Application coding:
    Perl is great, but you say you're not experienced yet. That's not a show stopper at all, but consider carefully how to proceed. If you're willing to pick up the Camel book, the Ram Book, and a printout of the CGI.pm and mod_perl documentation, you may be ready to be a Perl Web Programmer :-). But plan on it taking some time to get it right. Be sure to steal as much code as possible from the people who have gone before you -- I suggest a through reading of the WebTechniques archives to see some excellent solutions to common problems.
    As far as non-Perl solutions, Python is great, and Zope seems to be getting more and more attention. Check out Zope and scour freshmeat for other Web Application architectures, you may find those solve some of your problems well. Java servlets are an excellent choice also, but expect those to require much more programming savvy.

    Anyway, the first step really is to analyze the current system and figure out all the components. For each one, pick a few possible substitutes. Play around and convince yourself that the pieces you select play nice together. Then show *that* to the PHB and get the go-ahead, they tend to be pretty easy to convince if you know your stuff...

    1. Re:Suggestions by platypus · · Score: 1

      Postgres has a very mature windows-odbc driver,
      while I use it only for relativly small dbs (2-5 MB) it works over a modem (33.6k) connection without a hitch (it's naturally slow though)
      Don't know about mysql, but your question sounds like postgres would be a very good solution, afterall you seem not to need the fastest database available, more a very reliable one.
      This is not to say that mysql isn't reliable, but it doesn't do transaction logging.

    2. Re:Suggestions by Da_man · · Score: 1
      I have another suggestion - Pervasive Tango.

      I have developed a web-based Contact Management System for internal user where I work. It is comprised of an Access Database of 25,000 records, ODBC, Tango Application Server, and Apache Web server running on NT. While not under huge load (3-5 full time users) it performs quite well.

      Why I mention this is because Pervasive are due to release (any day now) a Linux version of Tango Application Server (also available for Solaris, and various other *nix's). Their database product is also due soon for Linux, P.SQL, which is the original Betreive, and is both relational and transactional.

      Tango App's are a breeze to develop, no asp, no perl (if you don't want it, use it if you do!!), no cgi, hooks to any ODBC compliant database, Oracle, etc.

      http://www.pervasive.com/products/pervasive2000/ta ngo2000-desc.html

      I know of other building blocks for Linux based e-Commerce sites, if people want to get in touch (Credit Card payments in 116 currencies for example)

    3. Re:Suggestions by HighLordofNothing · · Score: 1

      Don't forget to look into Sybase.. I've had great luck using it for our website. It's not quite as fast as MySQL but it more than makes up for it by supporting transaction IMHO. Plus it's a free (unsupported) download from Redhat and I think a few other Distro's websites.

  18. What exactly is causing the crash by md_doc · · Score: 2

    Ya I know everyone wants linux these days because its so stable. But the simple fact is that a system is as stable as the programmers and administrators creating it. I know many NT gurus who have had systems up for years with NT and I know the same with linux. It might be smarter to try and solve the problem then to just convert for conversion sake and then end up having problems with linux and giving linux a bad name. We don't need that.

    --MD--

    --
    --MD--
    1. Re:What exactly is causing the crash by ucblockhead · · Score: 2

      Access is far more of a problem then NT. A good comparison would be Access:SQL Server::Win95:WinNT. Access is horrendous. I wouldn't trust it with my todo list.

      You certainly can run an e-Commerce server on NT. My company sells an NT payments system, which is essentially the brick-and-morter version of an e-Commerce system. I'm not about to get into an argument as to whether or not NT is better for this because, quite frankly, I have my own doubts about that. (More than doubts, actually.) But that does not mean that NT isn't workable. We've got numerous installations that stay up for months, and given the load they get, I see no reason why an NT e-Commerce system wouldn't be similar.

      One thing people need to remember is that "not as good" is not the same as "unworkable".

      --
      The cake is a pie
  19. Access to ODBC to PostgreSQL by Tommer · · Score: 1
    I have a client who manages a database in Access, and they upload changes from it via the Windows ODBC drive to the PostgreSQL system that runs the web site. There's a bit of munging involved to reconcile their inconsistently maintained data but it works great and I never have to look at Windows.

    For another client I eventually made a web-based editing interface and eliminated their Access database altogether. Works even better :)

    --
    -- Tom Rathborne
  20. Ah, so you are volunteering, then... by A+nonymous+Coward · · Score: 2

    Post your resume. Show us the questions you would ask. If you can't even think of better questions, then your real imagination exceeds your imaginary one.

    Show us why you are better qualified than anyone for the job.

    --

  21. Comments on web-applications by Chmarr · · Score: 1

    I've been using PostgresSQL for a web-style application and it works just fine. My co-worker on the project has used MySQL and that also works just fine. IMHO, MySQL is probably better (it has some neat features such as the LIMIT/OFFSET on queries), but I cant affort the licensing restructions of MySQL for this.


    Also, if you're going to be learning Perl for this application, might I suggest using Python instead? It can do anything Perl can, but its a considerably cleaner language (read: more readable), and there's also a Apache module for it.

    Perl's fine for programs around 50-100 lines or so, but larger than that and it starts to be come really messy.

    1. Re:Comments on web-applications by Tommer · · Score: 1
      As of v6.5 (or 6.4.2+patch) PostgreSQL also has LIMIT/OFFSET.

      I disagree about your assessment of Perl - I say it's fine for programs of about 500 lines after which you are probably done. Hooray for mod_perl!

      --
      -- Tom Rathborne
    2. Re:Comments on web-applications by Effugas · · Score: 2

      but I cant affort the licensing restructions of MySQL for this.

      There's a GPL MySQL out there, perfect for you then.

      Yours Truly,

      Dan Kaminsky
      DoxPara Research
      http://www.doxpara.com

    3. Re:Comments on web-applications by takshaka · · Score: 1

      Perl's fine for programs around 50-100 lines or so, but larger than that and it starts to be come really messy.

      If your Perl programs are unreadable after 100 lines, you're doing something very wrong.

    4. Re:Comments on web-applications by peterarm · · Score: 1

      Isn't mod_perl the Perl Apache module? So that's not a point of comparison then?

  22. Here is a total solution by jidar · · Score: 1

    YAMS is a total solution to e-commerce, and is open source. It uses MySQL as the backend and modperl. It seems pretty nice, you might want to look into it.
    http://yams.screamdesign.com/

    --
    Sigs are awesome huh?
  23. Export in MySQL format from Access by Internet+Ninja · · Score: 1

    I don't think there is anything out there to plug into Access from Linux, but you can certainly export from Access into MySQL.
    Either use MyODBC as someone pointed out or you can use a script available here to dump an Access DB into nicely formatted MySQL compatible SQL.
    There are a couple of these utilities available on the MySQL web site.

  24. MS-Access / Visual Basic by RudeDude · · Score: 1
    There are existing tools (VB Scripts) for MS Access to export data to MySQL.. a couple are listed on the MySQL home page. Plus I'm sure it would be a trivial hack to customize the VB to your purposes (IE generate exactly the field types you need or special insert statements you need.) So at least you are down to using MS tools just to transfer data.

    FYI: The choice I have made for my company for end-to-end web based ordering is Linux, Apache, mod_ssl, PHP, MySQL, Cybercash. PHP allows you to link right against the Cybercash MCK and even comes with some nice pre-written interface functions.

    Good luck. Moving away from Access (even toward MS-SQL server or otherwise_ will help you A TON. Win NT ODBC drivers are really really poor.
    ---
    Don Rude - AKA - RudeDude

    --
    RudeDude
    Perl/Linux/PHP hacker
  25. Been there, done that by SheldonYoung · · Score: 5
    Okay, can say I've done this exact thing. We started out prototyping on IIS and Access because we didn't have a decent Linux box yet and Access makes it easy to prototype databases. Our plan was always to go to Linux, but we were forced into it by IIS doing some freaky things.

    The perl was a piece of cake to move over - we even switched to mod_perl along the way. The database, however, was a bit of a pain. We moved it first from Access to SQL 7, then used SQL 7s data export function to stuff it into Informix on the Linux box. It was a nightmare, there are so many things that just don't move across. Views, identifiers longer than 18 characters, etc.

    My suggestions, from hard-won experience are:
    1. Run a multiplatform web server, not IIS. Unless you're using ASP or such it should be simple. This is by far the best move we made - It was almost bearable to develop on NT once IIS was out of the way.

    2. Clean up your database architecture and make your SQL portable. Don't assume TRUE == 1 or you can escape table names with [].

    3. Move in stages. Get mySQL, Informix, Oracle, whatever running under NT and move the data to it first. Then move it to the Linux box when things have settled down. Same with switching web servers.

    This is a good lesson in why to create portable applications. Just move in pieces and you'll gradually see your system get more and more stable, without getting above your head in new things to learn.

    Good luck.
    1. Re:Been there, done that by cloudmaster · · Score: 1
      Speaking of portability, I'm currently doing something similar:

      I designed an inventory system using MS access, also because I had no SQL servers set up and I needed the database immediately (pen-and-paper sucks).

      While the MS forms and database I set up were being used for initial data gathering, I set up Roxen's web server on the windows machine and started developing a front end and some queries using the wonderful RXML enhancements, including the SQL tags Roxen includes (damn, Roxen's nice).

      After getting some basic front-end parts up, I set up a linux box, and installed Roxen and MySQL (SuSE ships with both, but I rolled my own just to be on the bleeding edge and to get 128-bit encryption). Moving the web content to the linux box was 100% painless, since Roxen is virtually identical on both platforms.

      Moving the database over was almost as simple, using one of the scripts a few others have mentioned that I grabbed from the MySQL home page. I did have to change a memo field to a blob, and change the default "Yes" in an int field to a "1", but that was it. Then a simple mysql -u me -p database < oldaccessdata was all it took to bring the old data over to the world of Real SQL. :)

      It sounds like a lot, but in reality it only took me about a week to do the conversion - including the time it took me to learn how to set up MySQL and teach myself the needed SQL (in addition to doing what they actually pay me to do). The little extra effort is well worth it for the signifigant fine-grained access control gains I got from MySQL's grant tables, etc - and from a data access point of view since everything's web-enabled now.

    2. Re:Been there, done that by mitd · · Score: 1

      Excellent advice Sheldon, a few additional thoughts.

      1. mySQL is fast and stable we have been running it for 6 months on a system averaging 80 - 100k transactions a week. The one problem is transactions specifically the lack of COMMIT and ROLLBACK. (app has to keep 8-10 tables to keep in sync per transaction). We ended up simulating COMMIT and ROLLBACK with perl plus DBI with no significant hit to performance.

      2. Attaching Access frontends to mySQL is trivial. ODBC and away you go. As pointed out data migration, once schemas are migrated, is pretty easy.

      3. Schemas can be the problem. There is no easy way (that we have discovered at least) to export schemas. This to date has been a 'by hand job' (excuse the pun :) ).

      A few final ramblings:

      We love linux/apache(mod_perl)/mySql for infrastructure problems. Access is a great little quick dirty tool for building Entry and Reporting screens for our MS wedded customers. (NOTE: we did just recently convince one client to re-equip their 12 person data entry dept with little penquins). We have started to use PostgreSQL for some more complex data problem spaces. The short term results have been very positive.

      mitd

      --
      mitd -- Made in the Dark
      "One good thing about spam... You don't gotta answer it"
  26. Who's to blame here? by Anonymous Coward · · Score: 1
    Everyone with an NT server who has problems blames Microsoft. I can tell you this: I run a very complex transactional website, using NT, SQL-Server, and ASP. We had a lot of problems for a while. But gradually we learned the right way to do things, and now we run smooth as silk. Now and then we reboot a webserver due to a memory leak that shows up in SSL (which we use for the entire site). That's it. We'll deal with that before long by clustering web servers.

    I don't know what technologies you're using other than Access, which is seldom a good solution for a website. But NT works well for us. As with any public server, you'll want to pare it down to run exactly what you need, no more.

    I do root for Linux, though, so if you go that way, best of luck!

    1. Re:Who's to blame here? by Anonymous Coward · · Score: 1

      I agree most hardily. I also like linux and use it at home, but I also have built solid ecommerce solutions on NT and MS SQL. From the start we had to constantly hound our developers to produce good code that runs well, the problem is our developers were not trained in the NT area and needed a lot of help to learn how to write good code. NT is not very tolerant of sloppy code, but well written programs run very well. We have found most of our code problems were in the area of Data Access. MS has changed a lot with MDAC (to fix many problems that they have had) and some of the calls our developers were making were explicity not supported in the newest version of MDAC. Unfortunatly using these old none supported calls would still work most of the time, but cause other problems some of the time, after showing our developers the Documentation for the new MDAC they changed there code to use the supported ways of making calls, and now all works quite well. The biggest problem is that the developers can't keep up with the amount of changes being made by MS, so we also on our sites have picked a level of code and don't change, SP 6 is now our but it won't go onto any of our servers till there is a damn good reason. Now for the no brainer stuff, if you are using access for anything mission critical, you don't deserve to be working. For god's sake use a real database not a imaginary one.

  27. Just get SQL Server by Anonymous Coward · · Score: 0

    You could probably get a better database a avoid reinventing the wheel. If you are going to do it all over again on Linux you should look at Java Servlets rather than Perl (Don't get me wrong, I like Perl.)

  28. use servlets by henri · · Score: 1
    a few easy steps (if you know java):
    1. get apache + jserv (java.apache.org)
    2. re-write your scripts as servlets
    3. get the java COMM package (http://java.sun.com/products/javac omm/index.html to talk to the backend server.
    4. put your data in any database you want and connect to it via jdbc. One way would be to keep the access db on an NT box and whenever you get new data connect to it via jdbc, grab the data, stick it in more robust database (also via jdbc)


    advantages over perl:
    1. easier to maintain and debug
    2. see #1

    henri
    1. Re:use servlets by smoser · · Score: 1
      Reasons to not use servelets/java.
      1. slow
      2. object orientation forced opon you is massive overkill for the types of things that people do with HTML and databases
      3. PHP and Perl are both designed to do exactly these kinds "texty" things.
      4. php and Perl can both do anything that java servelets could do themselves, or by system calls (if you just felt like you needed to use java somewhere then you could do it here)
      5. see number 1, its really true.

        Java is not the answer for everything. It does somethings well, and has loads of functions built into it, but it doesn't fit well with CGI stuff.

    2. Re:use servlets by gbevin · · Score: 1

      Strangely enough I have the impression that servlets are actually faster than perl when using IBM's jdk.

      --
      Geert Bevin
    3. Re:use servlets by smoser · · Score: 1
      While I've not run servlets, I do have experience with IBM's java. While it is much faster than blackdown or kaffe, it has a much larger startup time than perl does from what I've seen. Not that the this means anything, but for simplicities sake try writing "hello world" in perl, and in java, and then run them. You'll see that java was slower, to start up (and thats assuming that you'd be using perl as a CGI--which you probably wouldn't be doing)

      It just seems to me, that the majority of web scripts are more like "hello world" then they are like complex scripts that would benefit from OO.

    4. Re:use servlets by Anonymous Coward · · Score: 0

      Heeellooooooo. Have you guys that are the servlet naysayers actually used servlets? They are fast! They become persistant parts of your application server framework. It's irrelevant, the startup time of java. A process of the JVM isn't instantiated for every request. And by the way, online apps are moving away from simple text based apps. Sessions and states make java a very cool language to develop server side applications. And heck, on an intranet it's pretty tough to beat applet to servlet communication or even java app to servlet communication via http or even rmi. Don't get me wrong. I like Perl *AND* PHP but java is waaaay cool for this kind of work.

    5. Re:use servlets by Anonymous Coward · · Score: 0

      I'm with the last Anonymous Coward. I've developed in Java for 2 year+ and servlets are seriously fast. The first invocation requires a slow startup (5-10 secs depending on what the servlet is doing), but each further invocation is lightening fast. Java isn't the solution for daft wee noddy systems, but definitely IS for anything medium-to-large scale. Java on Linux is still a bit ropy though and does require a learning curve, so I'd take a bit of time to study the options before jumping in.

    6. Re:use servlets by pspeed · · Score: 2

      But in a servlet environment the JVM has already been started. So that nullifies the startup time difference except in cases where a new process has to be launched to run the perl script or CGI. And then we probably shouldn't even compare, should we?

      One nice thing servlets has going for it is that all of the session management is handled for you. This is a big benefit.

      Usually the only people that complain about Java's speed in a server-type environment have never even compaired it. Sort of like all of those Windows users who think Linux sucks but can't hardly spell it.

      I've done both CGI (even in C) and Servlet development. And although I would be dragged kicking and screaming into full-time web development, I would still recommend Java servlets in the right situation.

      My (stagnating) progeeks.com web site uses servlets and I was able to code the entire thing in one weekend. (Well, the parts I have finished anyway.) The company I actually work for is switching all of their web apps to servlets.

      Fun stuff,
      -Paul (pspeed@progeeks.com)

      --
      Edu. sig-line: Choose rhymes with lose. Chose rhymes with goes. Loose rhymes with goose.
      Comparing? THEN use THAN.
  29. perl interfaces: by sevenseven · · Score: 1
    ft p://ftp.cdrom.com/pub/perl/CPAN/modules/00modlist. long.html#7)DatabaseInterfac

    contains DBD::ODBC. should allow you to connect to odbc driver on nt box.

    --
    ...sie sind nicht grün
  30. Access..y stuff by Tsujigiri · · Score: 1

    The course of action I would probably take would be to export the data from Access into a format that your favorite SQL database can handle.

    Access exports into Some spreadsheet formats, text, rich text format, Foxpro, dBase and even outputs to ODBC databases,(though you'd have to see if you can get a driver for access from the manufacturer).

    dBase is probably your best bet as far as real database formats are concerned.

    ODBC drivers, would be interesting to see if MS Access would accept PostgreSQL drivers, or if it would revolt. Anyway, the Access help file has some info re. installing ODBC drivers.

    If nothing else, most DBMS should import a text format table.

    Good luck.
    Hail the Penguin!

    --

    "I'll take the red pill. No! Blue! AAAaaaahhhhhhhhh"
    - Monty Python meets the Matrix

  31. A suggested migration path... by wdr1 · · Score: 3

    You'll find that radical shifts are often resisted in the buisness world. A phased implementation might be the best way to go & would easy to do.

    You're on the right path... Perl can certainly do what you. In fact, most of the difficult code that you would need is already written: DBI & DBD::ODBC. What you'd want to do is establish an ODBC connection to your Access database & do all your data manipulation that way.

    Using this, you can move the dynamic component of your site to Perl based CGIs running on your existing NT servers. (Take care to avoid anything platform specific, and avoid ASP/Perl-script. That will only furhter anchor you to NT.) Not a radical shift, and one that should both help your current situtation and increase everyone's confidence in what you're doing.

    Next, on the side, implement you linux box running mysql. Write a Perl script using DBI, DBD::ODBC, and DBD::Mysql to periodically refresh the mysql database from the Access table. This will be the trickest part. I recommend keeping the mysql data model the same as the Access data model to keep things simple. Unfortunetly, there isn't an easy/inexpensive way to read Access files on a linux box, but that's not a big obstacle. You can use DBD::Proxy. Alternatively, have two Perl scripts: one on the NT box to export data to a tab-delimited flat file, and another script on the Linux side to import the file. With some smart scripting, the use of Net::FTP & NET::Telnet, you could integrate this into one file. (Simpler, but less cool, just do some intelligent automated scheduling on both sides via NT's scheduler & Linux's cron.)

    Now, through mod_perl into the mix. Present each solution side by side to your superiours. Explain the performance difference, the scalability, the cost difference, the seemless integration, and the added functionality of the Linux/Apache/Perl/mod_perl/Mysql solution, and *presto* you have your solution (and you look like a superstar. :)

    -Bill

    --
    SlashSig Karma: Excellent (mostly affected by moderatio
  32. Access to run a Business App?? by P.D. · · Score: 1
    How about using a real database to handle a business app instead of Access. Just because their is an ODBC driver for it doesn't mean its gonna be robust enough for e-commerce use. Upgrade to whatever DB Server product you want. Chances are its going to perform better than Access.

    Also learn SQL you'll soon see that importing data from any ODBC compliant DB is either simple or logical or both. If you don't want to then install MSSQL on your NT boxes and run the Access Upgrade wizard to import the data into new tables.

    Hire a NT Administrator. I work on both Linux and NT Servers and I can make a Linux Server as unstable as most NT Servers. Remember most people who call NT unstable do not know fully how to configure and maintain a NT Server. To make matters worse their are also many NT Administrators who don't know how to properly manage a NT Server. It sounds like your NT Administrators fall under the latter catagory.

  33. Use an SQL server & ODBC by Asbestos · · Score: 1

    Export the Access tables to a comment-delimited format and import it into your favourite unix sql server. In MySQL you'd use a statement like:

    load data local infile '/home/me/table1.txt' into table table1 fields terminated by ',' optionally enclosed by "'" escaped by '\\' ignore 1 lines (col1, col2, col3, col4);

    But check the docs to see if you need anything else. sed and awk are good if you need/want to sanitize the table a bit first.

    Then use an ODBC driver on the client machines to allow updates. MyODBC works well with Access 97 but I've heard of some problems with Access 2000 (I think someone at Microsoft is working on a patch for the next service pack?). Make sure all of the tables you want to update have a primary key defined.

    Read your SQL server's docs for access control - with MySQL, I added a user name, password and IP address triplet to the mysql.user table with 'N' for all of the global perms, and added a line to the mysql.db table allowing the user select, insert, update and delete privs to the given database from their IP address. I'm sure there are other, better ways of doing it though.

    I prefer PHP (http://www.php.net/) for the WWW frontend, but that's just me.

  34. PHP not PERL by Telamon · · Score: 1

    I'd recommend PHP over PERL for the programming language if you do convert, PHP4 looks like it's going to blow both PERL and ASP away in terms of performance, and you'll probably be able to convert most of your current ssytem over to PHP easier than to PERL (there is an ASP->PHP converter available if you are using ASP at the moment.)

    For the database server, I'd recommend PostgresSQL over MySQL (transactions are nice), or you could just keep the database on the NT box and use ODBC (although I'd recommend upgrading to a database server like Oracle or MS SQL 7, MS Access is NOT meant for what you are using it for.)

  35. Fixing the problem by webster · · Score: 1

    The easiest thing you can do to help reduce the frequency of those crashes is to get the data off of Access. That poor little DBMS was just never designed to put up with the abuse that is constantly heaped upon it. You should be able to move the data to any ODBC compliant DBMS with little effort. I would suggest picking one that was cross platform so that you only had to move the database once. I suggest you take a look at Progress, as well as Oracle, Sybase, Ingress and, of course, MySQL. It's been a few years since I used Progress, but from what I have heard, it's just gotten better. MySQL is free (as in beer) on Unices, but not on Windows, and that's just one of many reasons it would make sense to put the database on Linux. Moving to a more robust DBMS will buy you time to port the application correctly.

    Make full use of that time to do the job right. I strongly suggest that you do not attempt to do the port yourself in a language you are in the process of learning. Everybody writes really horrible code during the learning process of any language, and you do not want that code enshrined forever in an application that's critical to your business. Hire someone who knows how to do this type of app, and perform a real analysis and design before doing the coding. You will be doing the second system, so you have a pretty good idea what the requirements are. You will, of course, follow my advice and bring in someone who knows how to write this kind of application; and when you understand the problem, the technology, and the data there is no better model to follow than the top down model: analyse, then design, then code. Of course even when you understand all the elements of your application the creation of the application itself changes the environment it lives in, and so some adjustments to the design, and perhaps even the analysis will be made. But these adjustments will always be more expensive if done after the coding has started then if done before.

    You have a working system. Fix it then replace it with a well-engineered second system; and your management will be pleased. Replace it with another hack, and nobody will be happy.

    --

    Information is not Knowledge
  36. Yeah, that's a great idea. by Anfo · · Score: 1

    Run an untested beta for a server os! I know, he could just use windows 3.1. After all, it was made by the same "wonderful" company that wrote 2000.

    Ryan Minihan
    ryan@linuxhardware.com

    1. Re:Yeah, that's a great idea. by Anonymous Coward · · Score: 0

      Hmmm....untested, beta, neither is true, its well tested, and its a release canidate version 2 right now. In three weeks I've tested more hardware and software combos on it than linux or BSD can currently handle, runs great, few problems. Anyone running an OS that has beta usb and beta 3d hardware acceleration should be able to operate it fine. And that "wonderful" company you refer to has done most of what makes pc hardware affordable so you can run that 1960's technology your so proud of. Now what would the equivalent of windows 3.1 be in linux? Would that be the version Dennis checked in to cvs at bell labs in 1973!! No wait, thats the same one linux is based on! Thats real progress boys, come on over some time and I'll show you something really kick ass, the wheel!

  37. Maybe MySQL + PHP3 by Anonymous Coward · · Score: 0

    If you're not already decided on perl and your site isn't terribly complex (or even if it is), you definitely should look into PHP3 (also check out phplib - very nice). I have found it to be extremely easy to use, especially for connecting to MySQL, but that's me. As I'm sure everyone will tell you, getting the data out of access and into MySQL is trivial and could be done many ways, so I won't say anything on the subject except, DO IT!

  38. MySQL by exeunt · · Score: 1

    Mysql.org and Mysql.com are the USA mirror of Mysql.net the german site. So if .com or .org is down, try .net. I cannot remember their other domain off the top of my head.
    Also, as their site says: Our connection to the world has been down between Saturday 19991030 GMT 22.32 to Monday 19991101 GMT 17.10
    ---

    --
    "...silence is a dangerous sound."
  39. Accessing Multiple Databases on Multiple Servers by Mark+Schoonover · · Score: 2

    I'm currently in the throws of the same type of project as you.... The only addition that I have is I need to include an accounting system written in Visual Foxpro. My requirements are to access a MySQL system that's our main database system, with some information needing to be handled via MSACCESS, and needing to query the Foxpro based system as well. To make it even more challenging, the Foxpro based system HAS to be on NT server per our support contract with the vendor! Nasty, but there's a way to make it all play nice!

    I decided to use Perl instead of PHP mainly because of Perl's flexibility, runs on NT and Linux with little changes, excellent performance, etc. I'm not trying to start up a holy war here, use what you're comfortable with. The biggest hurdle was accessing Foxpro system on NT. For that I used OpenLink Multi-Tier 3.2 on the NT box. All you'll need to do there is configure the ODBC driver for Access. If you can read the *.mdb file with Excel, then the ODBC driver is configured properly. Install the OpenLink on the NT box - read the docs that come with OpenLink, it's also straight forward. You'll also need to grab the UDBC & ODBC stuff from OpenLink as well. That needs to be used to compile the DBD::ODBC perl module. Again, RTFM it's all in there. I did run into one glitch on an unrecognized command when compiling DBD::ODBC with UDBC. I only tested the module against Foxpro tables, and it did generate some errors. They were all due to SQL commands being longer than 80 chars - not a problem in my environment though.

    Once that's up and running, and you've decided to use Perl - head over to the DBI/DBD Faq. Section 3 & 4 covers what you need to do. It's really not as hard as you think to connect perl to use ODBC, even on a seperate NT server. Connecting to any other ODBC compatible database works the same way.

    From what I've read, PHP is just as easy. I first started developing our databases using PHP, but switched because I have other projects that Perl can be used, but not PHP. Perl looks to be slightly more complex than PHP for straight database access, but so far it hasn't been that bad. Some of the PHP code that I have looks real close to perl, so the switch isn't as painful as I thought.

    I haven't tried this, but if you dump NT you could use iODBC to access the Access DB. All the parts are there, I've just never tried it. That way, you could still distribute your database in MDB format. Another option would be to keep a skeleton MDB around, and run everything on MySQL. When needed, you could just dump the MySQL tables out to the MDB tables and send it on its way. The second thing I did was set up a test network and just started working on it. I've been able to connect all the different databases together after about 12 hours of work.... Just to give you an idea of time and effort involved.

    HTH

    .mark

    --
    Remove the '_nospam' from my email address....
  40. MDSE by ucblockhead · · Score: 2

    If you can't convert the whole damn thing to Linux, I strongly suggest you look into MSDE. MSDE ("MicroSoft Data Engine") was released with Office 2000 and is essentially the core of Microsoft SQL server without all the admin stuff. It also lets you access *.mdb files without Access. (Or so I'm told. I haven't tried that part of it myself.) Access is truly a dog, but SQL Server performs pretty well and from what you've said of your app, should easily handle your load. (From what I understand, Oracle is superior, but it isn't exactly cheap.) MSDE does not have any runtime charge like SQL Server, so there is really no cost to use it. (More Info)

    (Of course, being Microsoft, there's already been one service pack...)

    --
    The cake is a pie
    1. Re:MDSE by ChannelX · · Score: 1

      I'm still not sure why nobody has mentioned middle-of-the-road options like Sybase Adaptive Server Anywhere (formerly SQL Anywhere) or Borland Interbase. No they are not free but they are both full-featured SQL databases that can handle a fairly large load (we have almost 10gb total in several databases running on SQLA right now). I personally don't know anything about the free db engines but SQL Anywhere is definitely a good choice for NT.

      --
      My blog: http://jkratz.dyndns.org/~jason/blog/
    2. Re:MDSE by Anonymous Coward · · Score: 0

      Sybase SQL Anywhere 6.0.3 is out for Linux.
      Commercial version, but you can get a free trial download from www.sybase.com.
      Comes with graphical user interface for administration (Sybase Central) and replication (SQL Remote).

  41. Access Online == Bad Idea by Christopher+B.+Brown · · Score: 2
    Regardless of anything else that you do, make sure users aren't initiating direct accesses to Access.

    If there are a lot of Access-based tools that are being used to "massage" the data internally, that is arguably not wonderful; what is crucial is that this not be used for the online copy.

    You probably should consider using something like MySQL for handling the online data access for the web server; it would be entirely appropriate to build a process that synchronizes the online data with what's in your "back office" systems. This synchronization can add substantially to the overall robustness of your systems, as this can allow you to detect both:

    • Discrepancies that might happen on the "Web Server" side, and
    • Discrepancies that might happen on the "Back Office" side.
    The online system that the public has access to doesn't need to have access to all the accounting information that the back office needs, and by clearly separating them, you can strengthen the security and robustness of both.

    It might be useful to build some abstractions behind the scenes like message queues like IBM's MQSeries, on which Microsoft's MSMQ is based); a free tool that is commercially used that does this sort of thing is Isect .

    --
    If you're not part of the solution, you're part of the precipitate.
  42. MySQL is not appropriate for any serious purpose.. by Anonymous Coward · · Score: 0

    ...particularly an order entry system. Until it supports rollback/commit transactions, it will not be appropriate for serious web sites. Now, that's not to say it's not a useful tool for non-critical databases (say, a visitor log or something), but someone using MySQL for anything financial is either a) crazy or b) has never used a serious database, and doesn't understand how to design database back-ends.

  43. Revealing the truth behind M$ commercials by Anonymous Coward · · Score: 0

    1) Windows 2000 is a yet UNPROVEN OS. This also means that saying it's an enterprise class solution is nonsense. Windows NT 4, with it's latest server pack 6, still doesn't live up to it's (read MS's) promisses, not saying it doesn't live up to some. 2) saying that just changing the OS would be a solution is BS. You'd first have to _identify_ the problem before you could cure it, and for all we know, it might be something else then the OS. (Actually, to me it sounds like the Access database and/or the propiaty software might be the biggest problem.) 3) Saying that upgrading NT4 to Win2K would solve a problem is saying that NT4 _is_ the problem, which would decrease my trust in any MS product. 4) the debate on whether UNIX, VMS or a MS product is a complex one, and turns more and more into a religious debate instead of one based on facts and technical information. Saying one is by definition inferior to the other is unintelligent and non-constructive, and should be ignored. I wouldn't be surprised if the previous poster was in some way financially dependent on MS products. At the moment, so am I, but that doesn't make me blind. Don't choose a solution because it is from a certain vendor (or movement, in the case of Linux). Choose a solution because it _works best_

    1. Re:Revealing the truth behind M$ commercials by Anonymous Coward · · Score: 0

      I'm PROVING it every day on my machine for three weeks now! Win 2k pro is going to smoke NT4 and 98 and whatever else off the shelves, including that pathetic linux ( its free of course! ). Of course I'm speaking only from a workstation perspective, the server issues are where it may yet be unproven, until then linux wins by default due to its reliability. No app no matter if it works_best, is worth a damn when you cant keep it running. Anyway after you use 2k for awhile you'll see even as I did, there is difference between knowing the path and walking the path..... Wake up Neo! The linux matrix has you!

  44. No MySQL for E-Commerce! by Reinoud · · Score: 1

    You mention only that the catalugue is in Acces... You could use MySQL for it, but I would never trust any financial data to a database server that does not support elementary database operations like transactions, or the ability to have an transaction log on a separate physical device...
    I personally like Sybase (11.0.3.3 is free to use in deployment on Linux), but Oracle or the other big names have also proven themselves in years of use..

    --
    -- Nothing is as subjective as reality --
    1. Re:No MySQL for E-Commerce! by dhogaza · · Score: 1

      If folks don't understand why atomicity and transactions are important for financial applications, including e-commerce web sites, they should probably hire someone who does before implementing such sites.

      I use PostgreSQL for my personal web work, but think there's a lot to be said for using a tried-and-proven commercial database server when other folks' money is involved, as is the case with e-commerce. As is mentioned in this thread, Sybase has a no-cost version, yesterday's edition so to speak, available for Linux and it's good.

  45. Screw Access by wizarddc · · Score: 1

    We run multiple E-Commerce sites at my company, and after about 5 megs of DB data, and an average amount of site hits, access looks like a squirrel under an 18 wheeler. An easier move would definitely be to move from access to SQL. Even on a Linux box, Access will be unwielding poltergheist (poltergiest?) crashing your servers.

    --
    Th
  46. Quite simple, really. by 50bmg · · Score: 1

    1. Use PHP3 on top of PostgreSQL. 2. Create an HTML UI for sales people to update the prices in the pg database. 3. No dumping or syncing required. There really is no technological reason for a business not to run on Open Source software these days.

  47. Re:MySQL is not appropriate for any serious purpos by displague · · Score: 1

    And I suppose MS Access is a Serious Database... In that case why not just use perl or php with dbf files... (by the way, guy who had the original question, postgres, for one, has a dbf to pg convertor... although postgres lacks autoinc which suck, but there are add-in functions that can accomplish it)

    --
    Marques Johansson
    displague@linuxfan.com

    --
    Marques Johansson
  48. I agree; this lets you run in parallel, low risk by cthompso · · Score: 1

    I agree with what Bill's suggested. By essentially running in parallel, you're being cautious about not breaking the flow of the business (a good trait) and you can get comfortable with Perl, et. al. and confirm that data imports are happening correctly.
    Another selling point to your boss is that not only are you replicating and improving on existing functionality under NT, but once on a Linux/Apache platform, a lot of zero-cost *additional* functions can be added as needed. You'll also be much better poised to start taking advantage of XML parsers, etc. when that need comes along.

  49. Re:MySQL is not appropriate for any serious purpos by ilkahn · · Score: 1

    er... since when do you need transaction rollback mechanisms for read only databases, which 99% of all of the web database access I have done is? Most of the time you are not doing the standars a->b->c->a mechanism (the bank example) in a web enviroment...

    every time I hear someone say that you need transaction rollback for a web enviroment i cringe...

  50. Flamebait by Col.+Panic · · Score: 1

    Moderate this, please.

  51. Zope by Anonymous Coward · · Score: 0

    MySQL sucks. Have you ever read the LICENSE it comes under?? Try Zope. And take a look at some Open Source sites that use it daily, like AppWatch and Technocrat.

  52. Check Out these sites by Anonymous Coward · · Score: 0

    I have built a few E-Commerce sites using Linux with the following

    Minivend shopping cart and SSL Webserver I use Mysql with DBI you can use an ODBC connector from windoze to the Mysql Server. You will find a converter filter for acces at www.mysql.com that will move your mdb file into the SQL server. Using it this way still allows Windoze apps to access the data and run reports as if it was still an mdb file.

  53. PHP and MYSQL, the only way to go by Anonymous Coward · · Score: 0

    I'm in the process of building two separate database driven e-commerce sites. My OS of choice is FreeBSD, but that's irrelavent... I've converted several Access databases to MySql using the MyODBC drivers available from www.mysql.org. O'Reilly has also just published a book on Mysql. It's a must read if you're new to Mysql or if you need a brush up on database design. I'm using php3 for one project and just installed PHP4 (beta 2) which has session management features yesterday. I've played with it a bit and it seems to work very well. The mysql database access functions are easy to use and the embedded scripting is wonderful. Documentation online for both products are extremely good. You shouldn't have any trouble getting started if you've got some previous programming experience.

    1. Re:PHP and MYSQL, the only way to go by ScumBiker · · Score: 1

      To whoever wrote this:
      Are you building the whole shopping cart logic from scratch in PHP or are you using it as an interface to something like Minivend? I'm looking at a straight PHP and a straight Minivend (very confusing software, BTW). Oh yea, I'm not a programmer, I've just built a huge number of websites and can hack around a little. If anyone out there has built a shopping system in PHP, please let me know about it.

      --
      --- Think of it as evolution in action ---
  54. mySQL and Access by daviddennis · · Score: 2

    I just played around with this yesterday - ODBC access to mySQL data works very well. So all you have to do for the update is to write an VBA (the Access language) program to take the data from the access database and append it to a copy of it in mySQL. This should work very nicely.

    I definitely want to emphasize what many others have: DO NOT use Access for a multi-user application. It will work just well enough to fool you into committing resources, and then it will fall on its face. You are much better off getting the data into mySQL as soon as humanly possible, and then going from there.

    D

    ----

  55. We're doing this (but in reverse) by Anonymous Coward · · Score: 0

    We're doing all of our data collection using PosgreSQL on Linux and transferring it to MS ACCESS for the client every now and again. All of the forms processing & DB interface is done in PERL.

    When it's time to transfer data, we copy the tables using the 'copy to' command in psql. Then we 'dosify' the text files containing the tables using a utility like unix2dos (adds a linefeed). Transfer the files to a windows machine. Import into the access database. You're done.

    I'm assuming that something similar can be done the other way: export from access to a text file; ftp to linux machine; import into PostgreSQL via a 'copy from' command.

    It's kind of a hassle, but if it doesn't have to be done all that often, it's doable.

  56. Most likely ASP by mfearby · · Score: 1
    If you're using Active Server Pages, then I would suggest that it might be your problem. I've seen ASP's fall over constantly, and not from programming error, but because the dumb-ass ASP engine falls over all the time; has anyone seen the infamous:

    A trappable error occurred in an external object?

    This isually means the "World Wide Web Publishing Service" has fallen over (like IIS does only too well).

    I've converted over to Perl under NT and it's a dream compared to ASP's or compiled CGI programs!

    Though, if I had my way, we'd be using Oracle or MySQL under Linux instead of that lame excuse for an SQL Server from Microsoft - it's so dumb that it won't let you create a relationship between to tables within different "databases" on the same server! Thanks Microsoft!

    1. Re:Most likely ASP by Pfhreakaz0id · · Score: 1

      write a fickin' trigger! Geez.

    2. Re:Most likely ASP by Anonymous Coward · · Score: 0

      Don't blame ASP and MS for bugs in your COM components. Debug them well or just run them in out of process MTS package.

  57. False dilemma. The problem is both. by Anonymous Coward · · Score: 0

    There has never been a stable version of Windows, has there? Running a business on NT is not wise, even if some people manage to make it work. I write NT software for businesses, and my coworkers and I laugh all the time about how ludicrous our jobs are. Ignore the marketing buzz.

    1. Re:False dilemma. The problem is both. by Anonymous Coward · · Score: 0

      If you are not expected to run a business on NT, then what are you to run it on? Try teaching the ins and outs of linux to someone that has only used Windows 95 as they are told to become the de facto administrator of a new network. NT is a decent OS, just you have to give it a little attention after you let it OUT OF THE BOX. I think that way too many people are quick to install NT and not bother to make changes to it assuming that it will run correctly. This is definitely not the way to install NT. How many of you linux users just install without tweaking the kernel at all? Hmmm...I know that I don't. I am also sad to hear that your company writes NT business software and you take it as a joke. It seems that you are in the wrong business. Stop getting paid for your "ludicrous" job and start making that software for Linux. if you want linux to take over the world, step up and put ALL your support behind it rather than simply saying "MS sucks" like everyone else. Just for the record, I am fully aware of the problems that MS OSes have. I am by no means a MS lover, but I do believe that they have an OS for the common people in the computer world. Would you want your secretary running linux? Neither would I (if I had a secretary).

  58. SQL 7 is stable by Anonymous Coward · · Score: 0

    I have deployed several SQL 7.0 database projects since it was released running from small desktop to data warehouses. I also used v 6.5 previously and I definately vote for 7.0 in terms of scalability, performance, flexiblity and stability.

    1. Re:SQL 7 is stable by musique · · Score: 1

      My advice about 7.0 is from personal experience. For example, our MS-SQL 7 server has 1GB of RAM and hosts two main databases. For some odd reason, the database process will end up using all but about a couple of megabytes of RAM and then the system will crawl. This was happening about every three days. I think that we either have set it up to reboot every night or we installed the service pack that fixed it. Another problem that I've seen with SQL 7.0 is that in copying data from one server to another, it sets the wrong default decimal number size at 38, greater than what SQL Server can handle. Another problem is that when it generates SQL Scripts, it puts an 'N' in front of quotation marks in the check for object existance. If you need to rebuild or duplicate a database structure for testing or something else, you have to work around these stupid bugs. Then, when you go to the Microsoft site for the fix for the decimal number, it says "Start SQLServer with the -P38 flag" -- BUT THAT DOESN'T WORK You have to put -p38. It took me a while to figure that one out.

      Let's see what else: Microsoft's copy scripts to copy from SQL 6.5 to SQL 7.0 won't work if the owner of a table is not dbo--It won't copy the tables. The server will unpredictably freak out--go extremely slow--for no appearant reason, and we'll have to either reboot or restart the MSSQLSrvr process. If you stop and start the process, it does not automatically restart the SQL Agent that may need to be doing important things. If you stop and restart the server at the command prompt, the system will not allow you to start the agent. You have to reboot the system.

      And, I could go on forever with wierdness associated with SQL 7 that does not exist in 6.5: because SQL 7 was released before it is stable, just like every other Microsoft product ever made.

      (In other words: this guy didn't hit the bugs that I did with 7.0, obviously.)

  59. Well, NT's to blame. by ragnarsedai · · Score: 1

    Your solution (cluster machines) is sensible.

    I think it _is_ NT's fault, tho, else why reboot? Just kill the process, and a decent OS will reclaim the memory. If your OS doesn't, then it's only doing half of its job!

  60. dbi/dbd makes for good utility by MattW · · Score: 1

    I love the php3/mySql combination. PHP makes the task of turning your data into web pages almost trivial, and both MySQL and PHP have excellent documentation. As for getting the data out of access, I'd save the data as delimited ascii, and then import it using perl with the DBD/DBI modules. That's also useful later on for various types of database maintenance.

  61. Why make him work so hard? by Shanon+Fernald · · Score: 1

    I hate to see this guy go to all the trouble of making server os changes (to linux) when it isn't really necessary. He doesn't need linux or perl scripts or MySql. All of this just adds unneccessary complexity to the situation. And to solve this problem first we should look at his situation carefully: 1) He's got an NT server 2) He's got an Access MDB file about 14 MEGS His problem: 1) reliability problems Analysis of problem: 1) This is probably pushing Access too much. He needs a real database server. Access is fine for small databases with no more than one user accessing at a time. This is well known. 2) He needs a reliable inexpensive database server. 3) The OS he is using (NT) may not be his (or my) OS of choice, but the facts are it is more than reliable for what he is trying to do and it is already there. 4) MS SQL SERVER 6.5 or 7.0 (I would prefer 7.0) is a decent database and would probably work extremely well in this situation. ACCESS also supports upsizing to sql server directly in the Access App. Solution to Problem: A) create a ODBC SQL SERVER DSN B) upsize all the tables in the access database to Sql Server using the DSN created from 1). Access will replace the old tables with copies linked to the sql server. C) then compact and repair the database and enjoy! Isn't this easier than creating a bunch of interface scripts using DBI with PostGreSQL??? The answer is: Yes, it's as simple as A-B-C. So don't go overengineering your problems when it is not necessary as it is not in this case!

    --

    Visit the Perl Search Engine at www.linuxextreme.com
  62. Why make him work so hard? by Shanon+Fernald · · Score: 0

    I hate to see this guy go to all the trouble of making server os changes (to linux) when it isn't really necessary. He doesn't need linux or perl scripts or MySql. All of this just adds unneccessary complexity to the situation. And to solve this problem first we should look at his situation carefully: 1) He's got an NT server 2) He's got an Access MDB file about 14 MEGS His problem: 1) reliability problems Analysis of problem: 1) This is probably pushing Access too much. He needs a real database server. Access is fine for small databases with no more than one user accessing at a time. This is well known. 2) He needs a reliable inexpensive database server. 3) The OS he is using (NT) may not be his (or my) OS of choice, but the facts are it is more than reliable for what he is trying to do and it is already there. 4) MS SQL SERVER 6.5 or 7.0 (I would prefer 7.0) is a decent database and would probably work extremely well in this situation. ACCESS also supports upsizing to sql server directly in the Access App. Solution to Problem: A) create a ODBC SQL SERVER DSN B) upsize all the tables in the access database to Sql Server using the DSN created from 1). Access will replace the old tables with copies linked to the sql server. C) then compact and repair the database and enjoy! Isn't this easier than creating a bunch of interface scripts using DBI with PostGreSQL??? The answer is: Yes, it's as simple as A-B-C. So don't go overengineering your problems when it is not necessary as it is not in this case! ps, I reposted this because my previous message was unreadable.

    --

    Visit the Perl Search Engine at www.linuxextreme.com
  63. Re:MySQL - ODBC throughput? by wmorrow · · Score: 1

    How fast/robust is an ODBC connection going to be
    to pump over 14 MB from Access?

  64. PHP is the Bomb-diggity by Mojojojo · · Score: 1

    PHP is awesome. I've just started getting into it. It has tons of functionality, it can get stuff out of almost any database, including access under the right conditions. It's very easy language and PHP4 which is in beta now supports Secure transactions. www.php.net is a good starting place along with www.phpbuilder.com

  65. hmmm, Access aint relational - business needs v's by goon · · Score: 1

    PROBLEM 1: require stable OS's
    Having 2 NT machines may point to badly configured (I can hear the sniggers now ) ... but rip off anything you dont need on both machines, re-install to get a clean system. This should stop the problem of NT operating system crashing, but not rouge software. Generally if the machine is configured (HW & software) they crash as often as reported.

    Problem 2:
    database problems Our catalog has around 25,000 items in it. It's held in an Access database right now... around 14 Megs.

    been there, done that. At my old work we had similiar problems. I think it's a bit premature to write NT off for this kind of a problem just yet. It's not the environment (caveat: well configured NT system with min 128MbRAM, Fast disk drives etc..) it's your database engine.

    Access is good for playing with and possibly for serious applications a couple of years ago. But for a cat of say 25,000 records and more than a half dozen users Access will bog down under it's own limitations (file sharing database, not relational, mem leaks, your configuration settings, code access methods). I think before you start changing the operating system, code base and more importantly *mindset*, investigate a MS SQL server (or other politically correct db's) license.

    If management is balking at the cost... then cost out the hours to rebuild, test and get the system working using a linux/db/scripting approach. I say this because it's as much a business problem as a technical one. Change takes time, time equals cost - the same money to buy a new 'relational' database on your existing code base. With NT SQL Server you have the ability to upsize the DDL, re-insert the data etc...

    <rant>
    beware of suggestions to change your current setup by those preaching alternative OS's without fully investigating your current problems
    changing to Linux for instance is not the immediate problem.
    I'm a bit dubious here, and dont get me wrong I use/worship Linux as much as the next nutter...but dont do yourself and your company a diservice until you are 100% sure NT can't handle your business needs and not some *geek-lust* need to install a new OS. </rant>

    --
    peterrenshaw ~ Another Scrappy Startup
  66. What is so bad about Access? by Anonymous Coward · · Score: 0

    There have been lots of messages about how bad Access is, but can anyone quantitatively explain why it is so bad? I was thinking of using Access as a database engine with a middle layer of MTS components. Can some please explain in detail why this is a bad idea?

    No flames please.

    1. Re:What is so bad about Access? by Anonymous Coward · · Score: 0

      It's just not able to scale up well; it can't handle more than 5 concurrent users without problems; it can't record lock (only page lock -- which means users get locked out when examining contiguous records); & plus structure of tables and code changed radically between Access 2.0/95. If you're going with microsoft solutions, look at VFoxpro (much more stable) or SQL server; but don't use access. It's a easy prototyping tool, but lousy for real work.

    2. Re:What is so bad about Access? by weloytty · · Score: 1

      One of the biggest reasons not to use Access in the middle-tier of anything is because it is not thread-safe at all. You will start seeing all sorts of AVs, etc if you try to use Access databases in a multi-threaded environment.

  67. Linux and e-commerce go way back by Anonymous Coward · · Score: 1

    This is unrelated to the question, but a not-so-widely known fact is that one of the major early e-commerce companies providing third party credit card processing for online merchants was running their entire financial processing system (everything but the webserver) on Linux back in early 1995, before you could get secure servers for Linux. Best yet, it was done for technical reasons that couldn't be solved on any Microsoft or other Unix products. (posting anonymously without details for legal reasons, sorry)

  68. "Proving" an OS by webster · · Score: 1

    I'm PROVING it every day on my machine for three weeks now! Win 2k pro is going to smoke NT4 and 98

    A single person sitting at a single system cannot, of course, "prove" the power or stability of any operating system. This scenario does not even rule out the possibility that some other person sitting at the same system might crash every ten minutes.

    I say "of course' because this is absolutely obvious to me. The fact that it's not obvious to our AC might indicate that he has only ever been exposed to a single operating system, and does not need much in the way of proof.

    --

    Information is not Knowledge
  69. Database conversion by OldTechnoFreak · · Score: 1

    As you noted, you are concerned - quite rightly - , about the conversion of your database. There are a couple of things to note here, and other posters have already made one of these points.
    1. There are both middleware tools to convert Access databases, and direct imports in the databases you want.
    2. It is possible to create a new database from the old one *****if***** you wish to write a program to do the conversion. Your new preferred databases are widely used in the open source community ( MySQL is nice, and solid when properly configured ) and one can convert from Access almost trivially, as the SDK is available for free from M$, showing the exact underlying format of the database.
    As others have also noted, Access is rather sloppy in it's data rules, so be careful here.

    Another solution is to use an open e-commerce solution and port your data. There was an article on our very own ./ about a Linux e-commerce package not so long ago. Perhaps you might want to check the archives.

    Just my two cents.

    ***Unix is user friendly. It's just very particular about who it's friends are***

  70. hmmm, Access aint relational - business needs v's by goon · · Score: 1

    Problem 1: require stable OS's
    Having 2 NT machines may point to badly configured (I can hear the sniggers now ) ... but rip off anything you dont need on both machines, re-install to get a clean system. This should stop the problem of NT operating system crashing, but not rouge software. Generally if the machine is configured (HW & software) they crash as often as reported.

    Problem 2: database problems
    Our catalog has around 25,000 items in it. It's held in an Access database right now... around 14 Megs.

    been there, done that. At my old work we had similiar problems. I think it's a bit premature to write NT off for this kind of a problem just yet. It's not the environment (caveat: well configured NT system with min 128MbRAM, Fast disk drives etc..) it's your database engine.

    Access is good for playing with and possibly for serious applications a couple of years ago. But for a cat of say 25,000 records and more than a half dozen users Access will bog down under it's own limitations (file sharing database, not relational, mem leaks, your configuration settings, code access methods). I think before you start changing the operating system, code base and more importantly *mindset*, investigate a MS SQL server (or other politically correct db's) license.

    If management is balking at the cost... then cost out the hours to rebuild, test and get the system working using a linux/db/scripting approach. I say this because it's as much a business problem as a technical one. Change takes time, time equals cost - the same money to buy a new 'relational' database on your existing code base. With NT SQL Server you have the ability to upsize the DDL, re-insert the data etc...

    <rant> - sig to noise
    beware of suggestions to change your current setup by those preaching alternative OS's without fully investigating your current problems
    changing to Linux for instance is not the immediate problem.
    I'm a bit dubious about posts just throwing around languages, OS's and db's without working the problem first.. Don't get me wrong, I use/worship Linux as much as the next nutter...but dont do yourself and your company a disservice until you are 100% sure NT can't handle your business needs and not some *geek-lust* need to install a new OS, and code perl :)
    </rant>

    --
    peterrenshaw ~ Another Scrappy Startup
  71. Opps by Anonymous Coward · · Score: 0

    sorry...please read the above url... this got submitted by mistake.

  72. Sybase 11.9.3 by Dextius+Alphaeus · · Score: 1

    This was released a few weeks ago or so, the thing about it that makes it so cool is the fact you can create specific task based roles. Roles are great because of the limitations they let you past with groups.

    I would hope that more people gave this excellent oppurtunity to test it out a chance in their environments.

    (Been doing Sybase administration for almost 4 years now, I have never worked with a more extensible, reliable and powerfull system...)

    -Dextius Alphaeus

    --
    -- Java is not a Jedi trait... "do, or do not, there is no try" --
  73. Re:Suggestions - SSL Webservers by ninjaz · · Score: 2
    Actually, instead of StrongHold, I think Raven SSL for Apache would be better way to go. It's $357 vs $995 for Stronghold. Covalent (the company who sells Raven SSL) also does technical support for both the Raven SSL module and Apache in general, which should go over well with the suits.

    You can find its website here: http://www.covalent.net/

    Or if you live in a free country, you can use mod_ssl at http://www.modssl.org

    Also, I wouldn't really call it a close race between Postgres and MySQL features. MySQL doesn't plan to do SQL Transactions, for instance, while Postgres does. MySQL, on the other hand, has much friendlier SQL extensions, particularly for date formatting and such. Both have commercial support options.

  74. Use Minivend by Local+Loop · · Score: 1

    I've had excellent luck with this free product.

    It takes some effort to pick up, but it's very flexible, and you get a lot of cool stuff without much effort. Like automatic shipping pricing based on zone, credit card encryption, database compatibility, awareness of accessories and properties (like color), quantity pricing, etc.

    My catalog only has about 300 items, but it is reputed to work well up into the millions.

    The basic concept is that you set it up to generate on the fly pages based on what's in the database. You can also link to it from static product pages if you want (which we do).

    The programming is done by writing perl code and sticking it in web pages to be run as the page loads. You can also call static functions that you put in configuration files, where they only have to be parsed once.

    The only downside is that while there is about an inch thick stack of documentation, it is very poorly written and hard to understand. Fortunately there is an active mailing list for support.

    Good Luck,
    -Loopy

  75. MySQL / JServ / Apache by Anonymous Coward · · Score: 1

    I would suggest that you check out using an application server mod for any major web server. The application server will allow you to use JSP and Servlets with Java. This is a good alternitive to CGI. Using Java (being a popular term) you could have an easier time getting the funding for the upgrade to a new system.

    Java Apache Page

    This site will point you into the right direction getting everything that you need. Should you need to get a developer I would suggest contacting Web Programmers, Inc. We have used them for our development and they've done a great job on our up coming project for Ruptime.com

  76. MySQL == BAD for eCommerce by tzanger · · Score: 1

    Your comment about moving Access to MySQL to get to a "REAL" SQL made me laugh.

    MySQL does the barest of bones SQL. There is no replication (pending however) and no transactions (status?). If this guy's got a 25k-item catalogue and is expecting any kind of web traffic and wants data inegrity, he NEEDS transactions. Table locks suck.

    I suggest Postgres (maybe, it's what I use but not in a heavy production environment) or something meatier like Informix or Oracle. You do NOT want to be doing anything regarding money or inventory without transactions and row-level locks.

  77. Wait a minute... by sheldon · · Score: 1

    Wait one bloody minute... You've got a e-commerce solution running over a serial cable against a Access database and you're wondering why it's unstable? It has nothing to do with Linux vs. NT it has everything to do with your application architects being idiots.

  78. Solution by Anonymous Coward · · Score: 0

    What kind of moron uses ACCESS for a web server application???????

    The solution is for your company to fire YOU and hire someone who knows what the hell they are doing.

    1. Re:Solution by Anonymous Coward · · Score: 0

      What a great help you're giving...

  79. But do you want this functionality in the DATABASE by Christopher+B.+Brown · · Score: 2
    MySQL is indeed not a particularly potent "relational" database, with focus on relational; it is, instead, a fairly thin veneer of SQL layered on top of a functionally-pedestrian but nonetheless fast B-tree database system.

    If what you're really doing are transactions, this is fine. Build up sets of updates that are themselves transactions.

    Keep in mind that the web server is not the back office; the data should get pushed over to the "heavy duty SQL box" when it comes time to do the accounting for either money or for inventory.

    Consider the MySQL database to be an "embedded" database system, intended to support just the web application. Make that robust, and leave the "heavy production environment" stuff for the other server.

    After all, you don't want customers outside to be directly hitting your master database, do you? I don't spell that "security."

    --
    If you're not part of the solution, you're part of the precipitate.
  80. Morons, Access, and ActivePerl by Captain+Teflon · · Score: 1

    By your standards, lots and lots and lots of morons. There are LOADS of such implementations out there, and for a while every computer magazine I picked up had an article on how to get your Access DB onto a web. It's not difficult, and it actually works well enough if throughput is low and the app is not mission critical.

    No one's going to take you seriously. Anyone who has abuse but no better solutions to offer can and will safely be ignored. Anyway, the choice of Access may not have been his, he may just have had to pick it up. Don't go away mad ... just go away, OK?

    As plentry of people have said, exporting data from an Access database is trivial. If you don't want to get a copy of Access, use ActivePerl (www.activestate.com) with DBI and DBD:ODBC and roll your own. You could perhaps use another DBD for the database you plan to use and do the entire data migration in a single script.


    --
    Eagles may soar, but weasels don't get sucked into jet engines.
  81. I HAVE THE SOLUTION (for jsp anyway) by hardcorejon · · Score: 1
    Hey all,

    I was facing the exact same problem just last month. In my experience, if you want to develop scalable server-side software, and you're using OO technology, you need a layer of database objects to encapsulate all your data access logic. You then build service-oriented objects on top of those. This is very similar to the EJB model (minus containers/transactions/etc), but you can't afford EJB because a good server is >$10k.

    But this object layer can prove to be a high maintenance piece of software. Every time a data structure changes, both the object layer and the database scripts have to incorporate the change.

    My software is written to read a single specification file, and from that file it generates:
    • mySQL DDL statements (CREATE TABLE) script file.
    • Import scripts to import data from delimited text files (any delimiter).
    • Java class files that encapsulate database access logic.
    • Java collection class files to represent arbitrary database queries.
    • JSP pages are generated to interact with the class files:
      • Pages to browse database tables
      • Pages to add and edit records
      • Pages to search the tables based on any criteria.

    So, yes, the specification file you feed the script can be quite complex, but it's nice to maintain your database AND your object layer from one place.

    Well, my software is really just a hack I put together, I wouldn't be surprised at all if many other people have done the same thing already. I dunno.

    Anyway, if anyone's interested in using my software, it's still not 100% foolproof, so I'd like to give it some nice stress testing in an open source environment.

    Any takers?


    - jonathan.

    "Every tool is a weapon, if you hold it right." - ani difranco
  82. Whee! Look at me! by ninjaz · · Score: 2
    Looks like the astroturfers have come out of the woodwork for this one. ;) I wonder how far up the chain this article got escalated at Microsoft today.

    Anyway, regarding picking a Unix-type OS, and database it's obvious it's a complex issue. The machine crashing may be an immediate problem, but there are long-term issues to face. For instance, I have loaded (read loaded as in doing something - i.e., not idle) machines that stay up hundredes of days for an upgrade. That's without reading between the lines, reloading the OS, hacking the configuration or random parts of the OS breaking between upgrades.

    People may say that Unix systems require less effort to run, but what it really requires is more knowledge. For instance, the primary webserver I run for an "e-business" is a single Debian machine on a pentium pro 200. Through several Debian upgrades (including libc5 -> libc6) it has always been stable and reliable. No service packs that break half the stuff, no middle of the night crashes, nothing. The amount of administration effort to run the box (which does hundreds of thousands of $$ of business a year) is a few hours a month. The cost of the setup was around $5000.

    • Pentium Pro 200 server machine (with premium parts)- $2000
    • DPT Raid controller & 4 4GB IBM SCSI drives - $2500
    • Seagate Scorpion (DDS3 12/24GB) $600

    Fast-forward to my day job at a Fortune 500

    There they recently migrated our mail server from a single (1) machine running netscape mail server to a farm of NT servers running Exchange. The Netscape mail server was on a Sun Enterprise and was rock solid. The Exchange servers, on the other hand, are on a weekly reboot schedule. Our Exchange/NT team had done all it could, and came to the conclusion that either the machines could be rebooted every 7 days or crash on their own every 10.

    Also of interest is the management capabilities inherent with Unix-based systems vs. Exchange. For instance, on the Netscape mail server, if a user wanted files from his mailbox restored, a few files were restored from backup, and presto! On the Exchange server, the entire mail database has to be rolled back to the state where the files still existed (for *everyone*)

    Another item of interest is that when doing the mail server migration, the postmaster box ended up with over 60,000 pieces of mail in its box from warnings. With the server on solaris, I was able to write a quick perl script that would delete the files of specific subject line. The Exchange team's answer to a similar problem (this time with 100,000 emails) was to pull them up in Outlook and delete the messages 10 at a time. Of course, that wasn't possible, as the machine would just freeze due to the insane amount of RAM required to do such a thing (not to mention the time required to do this 10 at a time..) Luckily one of the up & coming unix geeks had a MS background and mentioned that outlook delete filters would do the trick (which they did - but it had to be accomplished from the client side)

    Anyway, the moral of the story is that NT server installations as a rule will cost more, require more maintenance and make it difficult for you to fix things when it really counts.

    Anyway, no matter what you do this time, I'd reccommend you at least set up an experimental server to do similar things to familarize yourself with a unix-like enironment. And, learn enough perl (or python/zope or php or java...) to put together the kind of web application you'd want. My personal favorite is perl, as CPAN has modules to do just about anything, and it's been invaluable to me as a system administrator and web programmer, but I know people have done very cool things with the others, also. Also, SQL. I'd recommend Postgres and MySQL (whichever fits the job) and, possibly Sybase (but its proprietary nature can be a pain at times). Don't forget about FreeBSD, either. Its scaled-down nature can make administration easier when you only want specific things on a box, and at present, it has some large file advantages over Linux.

    1. Re:Whee! Look at me! by ninjaz · · Score: 2
      I really can post coherent messages. Honest, I can! I plead this copy of Netscape leaking huge amounts of ram with large 's, preventing me from previewing. O:)
      People may say that Unix systems require less effort to run, but what it really requires is more knowledge.
      Should be "may say that Unix systems require more effort" .. Freudian slip. It's hard to say "Unix/more effort" together after the days I've wasted helping my g/f with her unweidly windows partition. ;)

      Btw, the "requires more knowledge" part mostly applies to getting started with the OS. It could require less knowledge to get a unix box running stably than it does to get an NT box running stably (and said knowledge is easier to come by) For example, you may have to do a bit of reading and compiling to get things how you want them, but the compiling is documented. Also, at least in the open source realm, mysterious failures tend not to be a problem. In the event something *does* fail, it's usually easy (or at least straightforward) to figure out why it's failing and how to fix it (as opposed to trying 25 different driver version, service pack version and system resource configurations) Even in the Unix world, Netscape Enterprise vs. Apache is a case in point here. When our corporate Netscape Enterprise server mysteriously failed to start one day due to a "sig6 pipe closed" error, it turned out that the search engine's index had gotten corrupted, and disabling the search engine prior to starting the netscape server would fix it. It took a call to netscape support to figure this out, though - running truss (equiv of strace on Linux) on the server didn't help, nor did the system or server logs.

      Another thing I think I should mention is that if you put Linux on a webserver, and the application outgrows the machine (or OS), it's trivial to port the application up to a more "enterprise" class OS such as Solaris. At the Fortune 500 I mentioned in my last post, the enterprise webserver was recently moved from a big Irix machine to a big Solaris machine. Since all the in-house apps were coded in perl, everyone's applications didn't require any porting. The same would also be true for any of PHP, Python/Zope (and even java if you're lucky). Of course, you could also design the application with real scalability in mind and, for instance, use 2000 FreeBSD webservers like Microsoft does with Hotmail and let something like Solaris handle the backend mass storage. (Or like deja.com or google.com do with Linux.. or yahoo.com does with FreeBSD)

    2. Re:Whee! Look at me! by xxyyxxzz · · Score: 1

      I hate to say it, but your entire statement here is little more than anecdotal FUD about MS. The Exchange sysadmins you work with clearly don't know what they're doing if they don;t understand simple things like Exchange filters, etc. And as for needing to reboot the server farm every week, I'm going to guess (having not seen the servers, I can't say for sure) that the problem was with the setup, not the NT system itself. Look at Congress - they run a huge host of Exchange servers to handle their e-mail, and I've never heard any of their sysadmins complain about frequent reboots (a friend works there, so I have an actual connection). The biggest complaint is that people send too many spam messages. So when complaining about MS products, make sure that the system, not the boneheaded admins, are the problem.

    3. Re:Whee! Look at me! by ninjaz · · Score: 2
      The reason I consider the "anectodal FUD" worth mentioning is that I have personally, (as have many people I know) been able to get Unix systems to be stable for months|years on a regular basis with no special effort.

      I haven't met any NT admins who can demonstrate the same. It's always a story about how a friend of a friend had a cousin who worked at some important place that had a cream of the crop admin who was able to push NT to a whopping 60 days uptime or somesuch.

  83. Perl serial port programming by sine+select(2)+non · · Score: 2

    Check out http://members.aol.com/bbirthisel/alpha.html. Bill Birthisel has provided a Win32::SerialPort module that is compatible with Device::SerialPort (CPAN) such that you can now talk to serial devices using the same code even in Dark Side of the Force environments.
    Using SerialPort and Perl is very flexible and powerful, the package let's you do exactly what you want/need to do. I used it recently to prototype a project, presuming that looping to satisfy reads, timing out, calculating CRCs, and such on the fly with Perl would require a re-write in C once I got it all working. Not a problem. It's fast and flexible, and very robust because Perl makes it easy to do things right.

    --
    "Only entropy comes easy" --Lewis Mumford
  84. NT is die-ing ... by bavodr · · Score: 1

    If you're NT is constantly die-ing then you probably have a misconfigured item somewhere in your system.

    Good configured NT systems are as stable as Unix machines.

    Of course, it is MS's own mistake to have so much 'bad' sysadmin's out there. Unix has thousands of capable sysadmin's, they learned the trade in ten years or more of experience. NT admins however often just follow a course, take an NT certified whatever exam and hup, they are promoted to full blown NT sysadmins.

    If you compare NT to unix, don't forget to compare their sysadmins as well.

    But .. NT is harder to administrate then Unix, so it is quite natural to have less good NT admins then Unix admins

    1. Re:NT is die-ing ... by Helge+Hafting · · Score: 1

      If you're NT is constantly die-ing then you probably have a misconfigured item somewhere in your system.

      Good configured NT systems are as stable as Unix machines.


      Possibly, but unix machines tend to be well-configured by default. Performance optimizations may be possible, but I never heard about a unix box "constanly dying" because of a sloppy set-up.

  85. Export from ACCESS by Anonymous Coward · · Score: 0

    Been there, done that: 1.- Install mysql 2.- Install myodbc in the clients 3.- from access export using the ODBC db 4.- make sure there is a primary key in every table 5.- add a timestamp field to every table: alter table table_name add modified timestamp;

  86. Access, NT, postgres whatever. You need a DBA. by Anonymous Coward · · Score: 0

    >Please don't listen to the "go to MS-SQL Server" people. >A vendor said that to a company I worked for and it had more stability (but what doesn't have more stability than Access?), but it came with its own set of stupid problems. Well, building an e-commerce without a DBA is like running a company without a CEO : you don't really need them if everything is going smoothly and if you're luky .... In my opinion you should move to more serious tools (mySQL or Postgres + Linux + JSP, Sun solaris + Oracle depending on your willing to keep your system open) and buy a skilled DBA to run the system. If this is not an option, your least cost move would definitely be buying MS-SQL6.5 and staying on NT. But keep in mind that this OS is a desktop toy : it hides you the complexity of the problem as long as it can. And suddenly you find yourself driving into the brick wall .... saslawsky@hotmail.com

  87. Toolkit for putting FoxPro data on the web by KegDude · · Score: 1
    ...I need to include an accounting system written in Visual Foxpro.

    If you are going to do anything involving both Visual FoxPro and the internet, you should really check out Web Connection. It's a framework that allows you to create HTML pages on the fly directly from VFP code. It's really fast and the toolkit is highly scalable and very well supported.

    Visual FoxPro doesn't get much press from Microsoft because they want to push SQL and seat licenses. But people who use it know that VFP is very fast and reliable. If you are going to mess with databases, you should be coding with a database language.

    WebConnection runs Egghead's SurplusDirect site (among others), which gets up to 55,000 hits an hour during peak bidding times. VFP can handle it, as long as you're not writing crappy and inefficient code.

    There is support for XML, MSMQ, COM, sending data using HTTP (with a VFP app on the client side), email generation, PDF doc creation, etc. You can also access other databases from within FoxPro using ODBC.

    At work, I developed an e-commerce project that does all the online work for several clients that we support, all running from one base class, all coding done in FoxPro. One of the best things is that you can debug it just like a regular VFP app.

    I'm not associated with this company but I have used the products and can tell you it's very powerful. The price is way cheap and a shareware version is available for downloading. Check it out. Note: This is for Windows only, but you are not tied to IIS.

  88. If anyone needs convincing.... by cprincipe · · Score: 2

    Just show them the CNET story on Windows 2000 pricing and tell them you'll be bankrupt if you ever upgrade. Good luck on the conversion!

    --

    bun-fhuinneog agam!

  89. Re:E-commerce & Linux Options? by Anonymous Coward · · Score: 0

    Check out AKtivate, it uses MySQL as the back end and all that Perl has been done for you.
    Aktivate is at
    http://www.allen-keul.com/aktivate/

    MySQL comes with an admin tool so that you can load up tab delimied or comma delimited data from your existing Access db.

    HTH

  90. Sounds like some chinese proverb by Anonymous Coward · · Score: 0

    The cost of Linux is the cost of learning--a price always worth paying. hehe

  91. E-commerce on linux/unix systems by pinokia · · Score: 1

    Hi, I didn't had the chance to read all comments so I hope I don't react with the same things people said before. If so, I'm sorry. I'm setting up a e-shop also at the moment and I can advise you two things: Use a sql server you know. I read something about people telling you mySql ain't that good. I prefer Oracle but have noticed that if you know how to handle mySql that it is as good as Oracle or sybase or PostgresSql. Use your knowledge, don't use something you think is better if you don't know how to handle it. And ofcoz, try not to use access. For the webpages I use ColdFusion (Allaire, www.coldfusion.com) running on a solaris machine with Apache. ColdFusion is very good for 'programming' e-commerce pages. If you want more info: check allaire site, they have a pretty large amount of information about e-commerce online. I think the coldfusion 4.5 runs on linux also. Pepijn Pepijn@kangaroot.net www.kangaroot.net will go 'live' soon now.

    --
    Visit http://www.kangaroot.net/ for all linux related stuff like T-shirts, gadg
  92. Bahahahaha by Anonymous Coward · · Score: 0


    Serial cable? Access as your database?

    Talk about an idiot architecture for an e-commerce site.

    And now we have loads of idiot amateur Slashdot lemmings proclaiming he should "rip and replace" his whole system and replace it with Linux and MySQL.

    If this e-commerce site is "taking orders" or doing transactions, MySQL is yet another idiot choice.

    Fine to use for your read-only DBs or toy systems, but if an employee of mine ever suggesting running something like Amazon or Dell.com commerce on MySQL, I'd instantly fire him.

    Slashdot users spend way too much time fixating on price, and not enough time on minimizing risk, keeping schedule, and using the right tool for the right job.

    An architect's job is to design a system to meet the requirements using principles that will work and taking into consideration the landscape..

    Platform RELIGION is not part of job, anymore than 747 engineers should use parts from christian suppliers only.

    grow up kids!

  93. How to convert forms/reports? by cd-w · · Score: 1

    I too have an MS Access database that I would like to convert to Linux. However, the problem is not converting the data, but converting the MS Application part of it. How do I do a front end for my datatbase in Linux? I basically need forms and reports? Any suggestions welcomed!

    Chris

    1. Re:How to convert forms/reports? by Eponymous,+Showered · · Score: 1

      Well, you wouldn't be able to "convert" your forms, per se, but if you want simple database access for your system, I highly recommend PHP. They have some nice tools for database connectivity with many easy-to-use APIs.

  94. Anybody picked up on the Serial port stuff ? by PinglePongle · · Score: 1

    Okay, Access is the spawn of satan; NT is buggy; SQL Server is a poor relation of Oracle - yeah yeah, or no no - this is a great argument but I thought that one of the main reasons for the problem could be the link using the serial port. This must be slow, and probably uses some home-spun protocol, which may contain some hidden bugs.
    Worth investigating replacing that with a simple network link instead ?

    --
    It's all very well in practice, but it will never work in theory.
    1. Re:Anybody picked up on the Serial port stuff ? by blowdart · · Score: 1

      Actually at a guess I'd say the problem is Access. I see this all on the time when taking over web sites, where someone has used Access in an environment with 20+ users. It barfs, and it barfs badly.

      Now this will be off topic I know, but in my estimation about 70-85% of web site problems is the artitecture, look at some of EBay's problems, this boiled down to having only 1 database server, and when it died, the whole site went down.

      A lot of people, myself included I'll admit, are getting very lazy these days when designing software, we don't think about the hardware architecture we'll need. I've finally broken this lack of foresight over the last 9 months, and it was hard! However I was damned proud of the latest banking system I did, which continued after the death of 3 servers.

      Anyway back onto topic, don't just blame software, look at everything, that serial port cable is just nasty!

  95. Data From Access by Anonymous Coward · · Score: 0

    You have another option - move to Oracle which will run on NT or Linux. They have a special utillity that will convert Access systems. It works automatically if you haven't done much outside the wizards.

    1. Re:Data From Access by dftrog · · Score: 1

      If you are uncomfortable with the auto convert from Access to Oracle, flat file the data and then use SQL*Loader to run it into Oracle -- much faster than the auto process. Oracle is probably the best engine to drive what you are after, both from a compatabilitiy and an operations standpoint.

      --
      He who enters into a dispute with a fool can be comforted by the knowledge that his opponent has done the same.
  96. Re:Coverting between access... Halloween docus by Lennie · · Score: 1

    Yeah I know I've read the Halloween documents. ;)

    --
    New things are always on the horizon
  97. Access to Oracle by totierne · · Score: 1

    Oracle runs on Linux.

    The MS Access Migration Wizard is available for download (requires free registration) at
    http://technet.oracle.com/tech/migration/toolkit s/files/msaccess/intro.htm

    We hope to be in a position to provide more migration tools in the future.

    Turloch

    Migration Technology Group,
    Oracle Migration Workbench Team.

  98. Its easy to bash MS by Anonymous Coward · · Score: 0

    But the ASP "trappable error" usually comes from a programming error in an COM object written by someone other then MS. IIS is a lot more susceptable to programmer errors because most of the COM objects people use run in the inetinfo.exe process space (not somewhere you want to reference uninitialized pointers. IMNSHO, ASP is a the best Web solution out there for enterprise development right now.

  99. Re:Suggestions - SSL Webservers by msuzio · · Score: 1

    Yes, I'm trying to recall why we *didn't* go with Raven SSL. I think there was some issue in our particular environment (migrating from Netscape Enterprise to some sort of Apache SSL). But you're correct, Raven is a good option and so is mod_ssl if you aren't constrained by US regs.

    As far as Postgres vs. MySQL, the transaction support is the big difference in my mind. The MySQL folks steadfastly argue that you don't really need transactions (read the docs), but I'm not convinced. Speed-wise, however, MySQL is a big win. Also, Postgres has shown some strange behaviors for us in situations where we have complex joins (star-joins, actually) and has actually corrupted data before (we never did figure out why...)

  100. Re:But do you want this functionality in the DATAB by msuzio · · Score: 1

    A very good point -- web databases != internal databases. Quite often, we construct database systems for use on the web by extracting and reformatting internal data. We do this because the set of business rules used and the data access needs we have are completely at odds with the way the internal users view the data.
    Often, the "web database" can be much more simple -- a list of products, some pricing, some tables to store users and orders. The "real" database has to deal with inventory control, order fulfillment, accounting, etc. We usually establish a data feed between the two, updated on whatever cycle is most appropriate.

    To take off my open-source hat for a minute, I also have to say that if you're doing serious database work with large tables and you need top performance and scalability, don't look at any current open-source solution. Go with something like Oracle (now on Linux!), they've been doing this for a long time and really do have tremendous advantages over the folks doing it in their spare time for free... especially at the higher ends where the typical "free" system isn't designed to scale (the free systems tend to optimize for small, fast, simple architectures).

  101. re: e-commerce and Linux by rajohn · · Score: 1

    Reading your post, you say that the existing system "takes an order, and as soon as they hit commit, sends it to our main system via a serial interface" (may be paraphrases to some degree). Having said this, why is Access even in the picture? Apparently you aren't describing the whole system. Could you elaborate on this a bit more?

    I, like others, doubt seriously that NT is the problem, nor do I suspect Access (in an of itself) is the culprit. However, having said that, I wouldn't myself have chosen Access as a component of the solution (but, again stating the above question again, I don't see where ANY local database is required, based on your requirements as currently know). Is ASP fundamentally buggy? Probably not, but again, I wouldn't chose it (primarily due to knowledge base more than anything else).

    If you want to make a jump to Linux, then make a solid business case. Demonstrate the ROI, given a new technology vs "fixing" (which may mean completely re-writing in the current technology) what you have. In doing so, you'll help to better understand your problem yourself, and certainly appear much more professional than many who simply rant and rave about how great one toolset is over another.

    my $.02

    Alan

  102. Too much too fast!!!! by Anonymous Coward · · Score: 0

    You're trying way too much new stuff waaaay too fast. Going to learn sql, apache, perl and what else? You need to find a way to make some trial runs to prove the technology (and your ability to make it work in this application) before you go replacing an even marginally functional system.

  103. Not a clue by Anonymous Coward · · Score: 0

    Wow. You clearly don't have a clue. A. That database should be stored in Oracle. No other. B. If you can't keep NT boxes running, then you are simply imcompetent. My company specializes in NT E-commerce solutions. What's your site/company name? You clearly should be repalced by somebody who has a clue.

    1. Re:Not a clue by Fozz · · Score: 1

      "Anonymous Coward" is a fairly accurate description of this poster.

  104. Re:But do you want this functionality in the DATAB by large · · Score: 1
    We use Oracle at work and are *seriously* looking to dump it in favor of something like Postgres. In fact, the guy leading this expedition is an Oracle DBA vetran.

    Yes, Oracle is the giant of the DB world. But that's not always a good thing (can you say Microsoft? I knew you could! :). Oracle licenses get ridiculous when you start getting into larger machines. We've got it running on some Sun Entriprise 450 & 4500 machines, and they multiply the cost BY THE CPU and BY THE CLOCK. So a multiprocessor license gets REALLY expensive. I'm talking 7 figures.

    Oracle is quite fast. Oracle has full transaction support and row-level locking. And Oracle supports Linux (yay!). However, compared to, say, MySQL, Oracle has a primitive installation environment (I prefer configure && make install) and less than clear documentation. I've installed 8 then 8i, and both times had trouble with the libclntsh (it's their programming API called OCI). It was missing a bunch of symbol info that I had to track down with nm through all of their libraries and rebuild clntsh myself.

    Anyway, the cost of licenses & support is really hurting. Not to mention that development is somewhat more lively in the Open Source world.

    What would be REALLY nice would be something like Postgres that was designed to be run in a Beowulf cluster. Now THAT would kick ass all overy every DB out there.

  105. Why conver databases when you can just read them. by ClarkBar · · Score: 1

    Now I'm no script/perl/php expert but I'm somewhat sure that php can read from an access database. If not, setup a small odbc server that php can read. This way you don't have to convert the access files, and get the reliability of linux. You might want to look into it.

    ClarkBar :)

  106. Re:Yeah, Cliff Sucks. by Anonymous Coward · · Score: 0

    Slashdot Moderators most surely suck

  107. License restrictions???? by Nicolas+MONNET · · Score: 1
    • The only restriction applies if you SELL a product (be it commercial or open source, I believe) that REQUIRES MySQL to run. There you have to pay a license, about $200 per server / product?
    • And if you can't afford that they have released an older version of MySQL under the GPL.
    1. Re:License restrictions???? by Chmarr · · Score: 1
      The only restriction applies if you SELL a product (be it commercial or open source, I believe) that REQUIRES MySQL to run. There you have to pay a license, about $200 per server / product?

      Which is what I'm doing :)

      And if you can't afford that they have released an older version of MySQL under the GPL.

      Old version = buggy verison, IMHO. I'd rather have something that gets bugfixed.

  108. Re:MySQL is not appropriate for any serious purpos by Anonymous Coward · · Score: 0

    Dude, he's talking about an online ordering system. That ain't read only. It's transactions involving money. You sure as hell do need rollback for that.

  109. moron by Anonymous Coward · · Score: 0

    You're sending orders over a serial connection?? to an access database? your problem isn't NT, it's your idiotic design...

  110. Re:Suggestions - SSL Webservers by Fozz · · Score: 1

    Postgres is slower because it is more robust. The transaction locking and the way Postgres commits transactions ensures data integrity in the event of a hardware catastrophe in the middle of a transaction. I don't think MySQL can claim anything like this. Because of this, PostgreSQL is more qualified to serve as a mission-crit DB server than MySQL ever will.

    The PostgreSQL developers point out you can disable some of these features to speed things up quite a bit, but you take the chance of losing data if the system crashes.

  111. Re:But do you want this functionality in the DATAB by tzanger · · Score: 1

    I never said MySQL wasn't fast... that's one of its biggest plusses IMO...

    If what you're really doing are transactions, this is fine. Build up sets of updates that are themselves transactions.

    I'm not sure I follow... How do I have the system subtract one from inventory, add it in to the ship queue and add on the sale and taxes for accounting in one statement?

    I could see "+1 this product" to an online database and then every hour or so syncing up to the master database, but now you've got two seperate sets of SQL (don't try to tell me that Oracle or Postgres commands will work on MySQL) to keep track of... why not use the same "dialect" on both systems?

    You're right -- I don't agree on having the public hit your master database, but I would have made my online database a little meatier than most, I guess.. at least enough to give an order # and start shipping procedure I think. AFAIK, that kind of setup would require transactions.

  112. recommend., by Zurk · · Score: 1

    apache+java serlets extensions..do the whole thing in mysql + JDK 1.1.8 with java server side extensions.

  113. Business Reports under Linux? by cd-w · · Score: 1

    Hmm, Perl or PHP would be fine for the forms side of things, but wouldn't be much use for generating reports without a significant effort. Are there any report-generating packages for Linux?

  114. Own Experience by Anonymous Coward · · Score: 0
    Here is what I succeeded in :

    I had an MS-ACCESS database and I needed to have it under mySQL. My solution was to use JDBC ; a small program did the job quite well.

    www.mysql.net --> Wellers' JDBC type 4 driver (http://www.mysql.net/Contrib/)
    www.easysoft.com --> JDBC-ODBC type 3 driver (http://www.easysoft.com/products/job/main.phtml)

    hth
    Good luck

    Jean-Pierre
    norguej8@cti.ecp.fr