• dlikhten (cs)

    When someone migrating a database says "Opse" when in time-critical moment... Yea... Um... Thats when you say ABORT!

    I thought you are supposed to migrate to a new server... Once everything is good, shut old one down and start new one up. Thats... not 5 minutes of down time.

  • Jonathan Holland (unregistered)

    Those fancy new Stored Procedures...

    I wonder if they implemented their own optimistic transaction locking system too.

  • clively (cs)

    After this type of story, does anyone else really need a reason for NOT buying enterprise software based on MS Access?

  • Mike (unregistered) in reply to clively
    clively:
    After this type of story, does anyone else really need a reason for NOT buying enterprise software based on MS Access?
    But..but...my neighbor's cousin's 12 year old nephew says that Access is all that we need so you must be wrong.
  • akatherder (cs)

    It sure seems like there are a disproportionate amount of WTF's involving a "central _______ server".

  • NO no NO! (unregistered)

    Well IMO there are several WTFs here:

    1. It took me 20 secs and 3 refreshes to load the page with the article. ASPs finally running out of breath?

    2. I am not really impressed with those guys. Creating views for each request? Lame, we have heard of whole numbers of tables created each time. I guess that in some kind of bussiness this one of the biggies in The Big Best SQL powered apps Practices BOok.

    3. Strange thing is that I never liked access. TBH I allways hated it. But sure go ahead and use it as back-end for central whatever server...

    Nice article anyways.

  • Paul (unregistered)

    So the real WFT is that the first tests Henry tried were on a production server ...?

  • Anony-mouse (unregistered)

    The start reminded me of part of an SAP upgrade document we read recently, went something like;

    1. Shut down SQL Server and the SQL Server Agent
    2. SAP will upgrade your SQL Server Database

    Of course, the guy doing it wasn't overly familiar with SQL Server and went ahead. Naturally the SAP Upgrade failed; "Unable to connect to SQL Server". We never figured out why the document instructed you to shut down the server right before it needed to upgrade the database. Maybe they wanted a reboot?

  • mathew (unregistered) in reply to NO no NO!

    The real WTF is that this kind of crap is typical for the industry. Far too many developers treat the database as a simple persistence store that they don't want to learn anything about.

  • ObiWayneKenobi (cs) in reply to mathew
    mathew:
    The real WTF is that this kind of crap is typical for the industry. Far too many developers treat the database as a simple persistence store that they don't want to learn anything about.
    <sarcasm> Well, it is! SQL is dirty, filthy things that real developers don't need to use, because all your logic should be in the program itself, and you shouldn't have to sully yourself with such things. Stored Procedures are the devil because they put *GASP* business logic in a database, instead of an application! </sarcasm>

    Sorry, I was reading David Heinemeier Hansonn's reasoning on why Ruby on Rails doesn't use Stored Procedures, nor should ever.

  • Buffled (unregistered)

    "As soon as Henry could speak, he asked why Tom didn't just use a stored procedure to do the work." -> Erm... why not just use an intelligent query? Stored procedures have their place, but if the usage is simple (and it sounds like this is) they're often not needed.

  • AMerrickanGirl (unregistered)

    Intelligent query? Wassat?

  • D. T. North (unregistered)

    I gotta say...as a hobby programmer (PHP/SQL), I'm amazed at how much I learn from this site. I admit my ignorance about Stored Procedures -- but then again, I'm not getting paid to maintain a production environment. After reading this article...I'm going to look into that.

  • Andrew (unregistered) in reply to clively
    clively:
    After this type of story, does anyone else really need a reason for NOT buying enterprise software based on MS Access?

    Yeah, there are pleanty of free REAL databases out there: MySQL, Cloudscape, Oracle XE

  • Zygo (unregistered)

    I pretty much lost interest after reading the words "the SQL Server". The problem is the definite article "the", instead of "a" or "an". The upgrade should have been tested on a testing or development server before even attempting it on the production server.

    It's fairly safe to assume that most software is buggy crap, and important to treat it as such. If you plan your upgrades based on this assumption, the worst that can happen to you is that you're pleasantly surprised from time to time.

  • poochner (cs) in reply to Zygo
    Zygo:
    It's fairly safe to assume that most software is buggy crap, and important to treat it as such. If you plan your upgrades based on this assumption, the worst that can happen to you is that you're pleasantly surprised from time to time.
    This is so, so true.
  • Bryan (unregistered)

    This is why I hate the current system in place to hire engineers and the like

    I knew people in college that shouldn't have made it past their 3rd semester; but because of cheating; group work; and google they managed to graduate and get a decent job.

    Then they turn out product like that....

  • Andy (unregistered)

    In defense of MS Access it is really a great little file based database with a relational front end.

    And its an excellent database for

    1. Stand alone single user Windows applications
    2. Multi-user Windows applications that never exceed 15 users

    Anything beyond that.... good luck :)

    That being said there is no excuse for not using an enterprise grade database for multi-user applications and if you are in charge of developing/maintaining this application you had better know something about the database your data is stored in.

    The application itself is worthless compared to the data stored within.

    Just my two cents.

  • Andy (unregistered) in reply to Bryan

    Agreed.

    Thats why when I interview candidates I try my best to test them on real world scenarios.

    Then I put them on a leash when they are hired until they prove themselves. I give them enough rope to get something done... but they still have enough rope to hang themselves.

  • Anonymous (unregistered)

    The second WTF is hidden in the article in a very clever way:

    Still, they swore they'd get their best people on it, and upgrade the application to .NET/SQL.
  • chrismcb (cs) in reply to clively
    clively:
    After this type of story, does anyone else really need a reason for NOT buying enterprise software based on MS Access?

    Eh?

    They had a solution working in Access, and migrated to a broken solution using SQL...

  • Beeblebrox (unregistered) in reply to Andrew

    ...and postgres, better than all of them.

  • magetoo (cs) in reply to D. T. North
    D. T. North:
    I gotta say...as a hobby programmer (PHP/SQL), I'm amazed at how much I learn from this site. I admit my ignorance about Stored Procedures -- but then again, I'm not getting paid to maintain a production environment. After reading this article...I'm going to look into that.
    Definitely agreed. I'm also learning about databases, and the thing you can't seem to get from tutorials and books is the feel for when certain things would be proper solutions, and when they are just too-clever hacks that are the sort of thing you just know you've read about here before.

    Also, "The fool learns from his mistakes, the wise man learns from the mistakes of others", and all that.

  • Johan Idstam (unregistered)
    Comment held for moderation.
  • Nate B (unregistered) in reply to Johan Idstam

    ...so I used label controls (in VB 2) to store data I needed across methods. (I didn't know how to rename them either so they were al Label1, Label2...)

    At least that way you don't need a watch window.

  • TheRider (cs) in reply to Andy
    Andy:
    And [MS Access] is an excellent database for
    1. Stand alone single user Windows applications
    2. Multi-user Windows applications that never exceed 15 users

    Anything beyond that.... good luck :)

    I would reduce that number to 1 :-)

    No, seriously, I have seen 5 people use an Access database for sales contacts / customer addresses management -- and be happy. Other than such small chores, I would really recommend something more decent.

  • Steve (unregistered)

    MS Access is often the only option, especially in an environment where a) IT won't let you install a SQL server, b) IT won't give you Admin rights to install it yourself or any other program, c) Access comes with the MS Office so at least it's there.

    Some of you need to learn what the real world is like. Some of us work in places where we need to do development but aren't "developers" by title. Therefore we use what we have available because IT won't give us anything else. Not all of us get to "just go buy a new server" or "just install x shareware product" or "just upgrade to the latest version." We live in the real world where IT is the enemy.

  • KattMan (cs) in reply to Steve
    Steve:
    MS Access is often the only option, especially in an environment where a) IT won't let you install a SQL server, b) IT won't give you Admin rights to install it yourself or any other program, c) Access comes with the MS Office so at least it's there.

    Some of you need to learn what the real world is like. Some of us work in places where we need to do development but aren't "developers" by title. Therefore we use what we have available because IT won't give us anything else. Not all of us get to "just go buy a new server" or "just install x shareware product" or "just upgrade to the latest version." We live in the real world where IT is the enemy.

    IT may not be the enemy and thinking that way may be exactly why you have such limitations.

    It is very possible that the solutions you guys "develop" may be very poor hacks that should never, ever see the light of day, let alone a night light. In many cases these very poor solutions become mission critical, then IT has to support these nearly unsupportable "solutions".

    There is a very fine line between a small script to make your job easier and something becoming mission critical for the company. If it is the former, by all means create it, but as soon as it becomes a business process, please give it up and let a real software developer handle the design and development of the process. Hopefully he talks to you because you do understand the problem domain, but you are not a developer.

    On the other side of the coin, I do know how some IT departments will take so long to get a project approved that you really don't see how you can wait. Really this isn't an issue of them being the enemy, they have many other projects and the company does not see yours as high a priority as others.

    Work with them, not against them, and when your script becomes process gladly abandon it to them or even bury it for a proper solution when the time comes.

  • Unomi (unregistered) in reply to Bryan
    Bryan:
    This is why I hate the current system in place to hire engineers and the like

    I knew people in college that shouldn't have made it past their 3rd semester; but because of cheating; group work; and google they managed to graduate and get a decent job.

    Then they turn out product like that....

    My wife is currently in her last year of school and she experiences the very same... I tell her that these people will be competing against her on the jobmarket. So, she might better put them down now, instead of having to deal with these kind of people after the summer.

    Reminds me of somebody having a coworker at a pharmaceutical lab screwing up with measuring chemicals. They can't fire him, so they keep him. But he's done higher education, while the job requires mid level education. Go figure. He's more expensive, but more dangerous too.

    Also, having a softwarehouse doing stuff straight on your production environment??? What kind of service level agreement do these guys have? And what do they pay for it?

    The best people put on the job? WTF? I don't want to know what kind of personel these companies further have...

    • Unomi -
  • KattMan (cs) in reply to Bryan
    Bryan:
    This is why I hate the current system in place to hire engineers and the like

    I knew people in college that shouldn't have made it past their 3rd semester; but because of cheating; group work; and google they managed to graduate and get a decent job.

    Then they turn out product like that....

    And people wonder why I think judging people by a degree is useless. If the guy is incompetant, then he should be fired. None of this "But he has a degree". Screw that, he can't perform, get rid of him.

  • JohnB (unregistered) in reply to Andrew
    Andrew:
    Yeah, there are pleanty of free REAL databases out there: MySQL, Cloudscape, Oracle XE
    MySQL a _real_ database?!? What's the colour of the sky on your planet? Alternatively, *please* give me the name of your dealer 'cause he's selling some extremely good stuff.
  • Salty (unregistered) in reply to Andrew
    Andrew:
    Yeah, there are pleanty of free REAL databases out there: MySQL, Cloudscape, Oracle XE
    Which of those include a GUI that makes it easy for non-IT people in a small company with no IT department and a small IT budget to create/maintain databases, tables, reports and queries?

    Oracle XE? Maybe, I haven't seen it. But chances are, small companies haven't heard of it, but they do have MS Access in their MS Office package.

    MS Access has a valid place in the market. These guys grew out of it and depended on an incompetent developer to help them grow. That's the WTF.

  • Unomi (unregistered) in reply to Salty

    MySQL has free software on their website that makes it possible to browse your database and export results to Excel, CSV, XML etc.

    You can't make forms in it, but I think it is more intuitive than MS Access is. MySQL is multiplatform btw, so people using an other operating system don't get stuck either.

    • Unomi -
  • Troy McClure (unregistered)

    So wait - they did:

    1. Drop view temp_inventory_v
    2. Create or replace view temp_inventory_v as select * from real_table where inventory_id = 18
    3. The application did: select * from temp_inventory_v
    4. Lather, rinse, repeat.

    Why even create a fucking view if you are just going to recreate it everytime?

  • John (unregistered)
    Comment held for moderation.
  • ChZEROHag (cs) in reply to Unomi
    Unomi:
    Reminds me of somebody having a coworker at a pharmaceutical lab screwing up with measuring chemicals. They can't fire him, so they keep him.

    This is a true WTF of this era. "Can't fire him"? Why the fuck not? I have found there are only ever two explanations for this, both poor reasons for such sentiment:

    It's the PHB's nephew/neighbour/mistress/all-of-the-above, or discrimination is not allowed just because the employee is black, white, gay, disabled or stupid.

  • Hasselhoffia (unregistered)

    Symantec Backup Exec for Windows 11d (or previous versions) is a real doozy for doing this. Most patches or hotfixes to the software causes it to shut down the MS SQL Server service on which it holds its configuration database while it runs the install.

    This is all fine and dandy when using a standalone MSDE/SQL Express for it, it'll shut down the MSDE service, do its thing and then start the service again no problem, but when you've got it's database sitting on your company's production SQL Server, any time you try to patch Backup Exec your whole SQL Server unexpectedly goes offline. No warnings or notice given, every database on the server becomes unavailable while Backup Exec does it's update thing and then restarts the service. Can catch many an unwary Sys Admin out the first few times it does it.

    Quite why the programmers deem this full MS SQL service shutdown necessary has never been explained, can't think of any other software we use that does.

  • Steve (unregistered) in reply to KattMan
    IT may not be the enemy and thinking that way may be exactly why you have such limitations.
    You've obviously never been in the military. There are no programmers in our IT department. They are no there to "create solutions", they are there purely to provide their version of security by installing only "approved" commercial solutions. That means that if you need a "script" or some sort of customized solution, you're simply out of luck.
    It is very possible that the solutions you guys "develop" may be very poor hacks that should never, ever see the light of day, let alone a night light. In many cases these very poor solutions become mission critical, then IT has to support these nearly unsupportable "solutions".
    Since you've never seen my code, you seem to be leaping to conclusions fairly rapidly without any data to back them up. Just because I don't hold the title of "developer" doesn't mean that I'm a hack. I know what I'm doing. I've never, even once, committed any of the offenses noted on this board, or anything similar. I write my code, test it, tweak it, test it again, and then test it some more. Then I have other people test it. I thoroughly comment it so that the next person who comes along can understand it. In other words, I do everything a professional would do - I'm just forced to do it using "inferior" tools because, to the IT department, I'm seen as the enemy. But don't dismiss my "small scripts". I've had professional developers tell me that something couldn't be done - until I did it with a "small script".

    Sorry to get defensive. It's just that it seems to me that often the only difference between "professional" developers and people like me is that they have better (read, more expensive) tools. Just because I use MS Access, because it is all that is available to me, doesn't mean that I'm not a "real developer".

  • darwin (unregistered) in reply to Steve

    Steve,

    Have you tried to sneak SQL Server Express Edition past them? Maybe that would get below their radar?

  • Cloak (cs) in reply to KattMan
    KattMan:
    Steve:
    MS Access is often the only option, especially in an environment where a) IT won't let you install a SQL server, b) IT won't give you Admin rights to install it yourself or any other program, c) Access comes with the MS Office so at least it's there.

    Some of you need to learn what the real world is like. Some of us work in places where we need to do development but aren't "developers" by title. Therefore we use what we have available because IT won't give us anything else. Not all of us get to "just go buy a new server" or "just install x shareware product" or "just upgrade to the latest version." We live in the real world where IT is the enemy.

    IT may not be the enemy and thinking that way may be exactly why you have such limitations.

    I don't think so. I have worked in several places already where IT was only considered as a cost factor that seems to be necessary but nobody (at least your boss) knows for what. So they see pay checks are signed but there is no (visible to the boss) increase in productivity or income.

  • ThatGuy (unregistered) in reply to Anony-mouse

    the language is ambiguous. By "server" the writer of the directions was thinking of the process on the iron, not the iron itself.

    A server can be running a web server, ftp server, kitchen sink server, etc etc.

  • MattK (unregistered)

    OMG, I think I know which Warehouse Management program they are referring to. What a piece of junk. It had a 'workaround' for reports that involved creating and deleting views on the fly. Started as an Access application as well.

    The damn scroll bars were even broken in the app! Hahah!

  • Jasmine (unregistered)

    I have seen this maybe 100 times. Views are old and SPs are new (like only 20-something years old)... some developers are old and some are new. That's just the way it goes.

  • cindy (unregistered)
    Comment held for moderation.

Leave a comment on “One User at a Time, Please”

Log In or post as a guest

Replying to comment #:

« Return to Article