Are the posted questions getting worse?

  • David Burrows wrote:

    The whole VS SSIS/SSRS/SSDT is crappy.

    They actually removed SSDT with VS 2019. There are now separate Extensions for Visual Studio and you are told (by the documentation) to download Visual Studio Community Edition instead. From what I've recall, the Extensions were not (initially) well received.

    David Burrows wrote:

    I'm still on SSDT 15.8.0 in VS2017 and because it works I stick with it. Tried later versions (although not 15.9.2) and either they did not work, crashed or lost essential features.

    I'm still running 15.7.4. Refused to upgrade after they removed 2012 support, even though they've added it again since. I hadn't upgraded to 15.8 when they released 15.8.1 (which removed the support) so I've stayed on 15.7.4 since.

    • This reply was modified 5 years ago by  Thom A.

    Thom~

    Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.
    Larnu.uk

  • Jo Pattyn wrote:

    To the person with the crystal ball, any prediction when SSIS projects will work properly in Visual Studio 2019?

    BWA-HA-HA-HA-HA!!!!!

    Oh, wait. You were serious?

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Brandie Tarvin wrote:

    Jo Pattyn wrote:

    To the person with the crystal ball, any prediction when SSIS projects will work properly in Visual Studio 2019?

    1976.

    @=)

    But they broke it again in 2022 so they released a forward compatible hotfix in 1973. At least we know they didn't break dbcc timewarp that long ago.

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/

  • Sean Lange wrote:

    Oh boy how I love vendor code. I am not exaggerating to say I just saw this.

    try
    {
    OneLineOfCode;
    try
    {
    AnotherLineOfCode;
    try
    {
    ThirdLineOfCode;
    }
    catch(Exception ex) {}
    }
    catch(Exception ex) {}
    }
    catch(Exception ex) {}

    It is bad enough that they used the try/squelch anti-pattern but seriously...what is the point of nesting them three deep? Do they actually not realize that the outer empty catch would also catch anything inside? And why did they bother to name the Exception? I guess they don't care about compiler warnings either. The compiler does not like these types of lazy things. There were about 4 more levels of nested try-squelch around all this garbage. But the outer code had a try/catch that displayed an error if one happened. Too bad the class logic prevented the error from getting back. Sigh...I am going to have a stiff drink now.

    And people wonder why I gave up on the world of "managed code" way back in 2003.  Did the also create a "Warning" field on the GUI with pale Yellow lettering on a White background and a "Danger" field (sorry Rodney) on the GUI with Pink lettering on a Fusia background?  Those two things are the straws that broke the camel's back and drove me out of the business.  I couldn't believe the design request.  I told them that I'd do it for them so they could see how stupid they were and that they'd have to find someone else to change it when they came to their senses because I would never touch "managed code" ever again... and I haven't.  I don't even know how to fire up VB.net, never mind C#.net or whatever the hell it's called and never want to.  I don't ever want to "push pixels" ever again.  It's actually a bit of a shame because I used to be pretty good at it.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • well I don't want to start another argument, and I know that I am not all that great a communicator so rather than argue anybody's particular point of view, I think I'd still like to defend managed code, / dot.net.

    Its just a pretty good system. The CLR is fast, and the language c# manages to avoid the long wordy sort of factory patterns that we see in java, although much of dot net learned from java from what I've read, so theres that. Dot net is not going to prevent bad code, heck its hard to tell how to reliably detect bad code in an automated fashion, sure you can build rules for things like sql's select *, maybe lines of code per function flags (and even then I don't buy into that metric as much as I used to), etc and I know that there are some language features which are especially subject to abuse and errors (c pointers represent!) but dot net was a very studied effort and I feel a bit of disappointment (which is honestly now sort of my default LOL) to see arguments against what most smart folks see as a pretty good product and "ecosystem" so to speak, more so considering the old vb6 and earlier predecessors.

    I'd be interested in what folks alternative is for the windows platform if the dot net / managed code product(s) are so bad, but its ok if you feel I'm just being contrary. Heh old habits and all that.

     

     

  • Jo Pattyn wrote:

    To the person with the crystal ball, any prediction when SSIS projects will work properly in Visual Studio 2019?

    You owe me a crystal ball Joe, I popped the question to mine and it turned into a piece of polished turd 🙁

    😎

     

  • With .NET Core there's finally a way for Sql programmers to get out from under the yoke of C#'s type conversions.

    Aus dem Paradies, das Cantor uns geschaffen, soll uns niemand vertreiben können

  • Haha Jeff. I do spend a lot more time than I would like writing managed code. But this is the same third party vendor's code who has this as a message. Not sure if this is an error message or they are telling that the update failed successfully. And yes this is an actual screenshot from production.

    Success

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/

  • Steve Collins wrote:

    With .NET Core there's finally a way for Sql programmers to get out from under the yoke of C#'s type conversions.

    I haven't played with net core, do you have any info on the type conversion differences? I can't find anything, weak google fu I guess.

     

  • I think many of the issues with the code sample or screenshot above are from many more people coding that just don't have good skills or habits. They make poor decisions. In that sense, some of the .NET stuff is taking the place of VB6, where people that didn't know how to structure things wrote lots of app.

    However, I think there are lots of .NET apps that do work very well, and have powered lots of the apps we use for banking, e-comm, and more. The quality of code, overall, seems to have gone  up. I see fewer and fewer crashes and more stability, as well as a higher rate of change.

  • x wrote:

    I haven't played with net core, do you have any info on the type conversion differences? I can't find anything, weak google fu I guess. 

    In C# since 5 years ago whether .NET Full Framework or .NET Core the type safe way to handle data coming from Sql Server is to cast/convert to objects in the System.Data.SqlTypes namespace.  From the docs:

    The System.Data.SqlTypes namespace provides classes for native data types in SQL Server. These classes provide a safer, faster alternative to the data types provided by the .NET Framework common language runtime (CLR). Using the classes in this namespace helps prevent type conversion errors caused by loss of precision. Because other data types are converted to and from SqlTypes behind the scenes, explicitly creating and using objects within this namespace also yields faster code.

    Regarding what's possible with .NET Core.  It's easiest to show how it works.  Here is an example of a .NET Core 2.2 Web API POST method which executes a stored procedure to create (and return) an encrypted user access token:

    [HttpPost("sh/login")]
    [AllowAnonymous]
    [TypeFilter(typeof(JsonResourceResultsHandler), Arguments = new object[] { "fc.api_user_email_login_post" })]
    public void PostLoginAsync() { }

    This POST method within the API Controller takes no parameters, has no body, and returns void.  The stored procedure follows a common pattern for all Sql Inserts (or Restful POST, or Create CRUD, etc...).  The generic class JsonResourceResultsHandler handles the Sql request in the lowest overhead way (bypassing UI/CLR binding and type conversions) while still making use of .NET Core Authentication and Authorization.   Json is used for all inputs and outputs.  All that's necessary to wire up a new API end point is to map a stored procedure to a route.

     

    Aus dem Paradies, das Cantor uns geschaffen, soll uns niemand vertreiben können

  • Steve Jones - SSC Editor wrote:

    I think many of the issues with the code sample or screenshot above are from many more people coding that just don't have good skills or habits. They make poor decisions. In that sense, some of the .NET stuff is taking the place of VB6, where people that didn't know how to structure things wrote lots of app.

    However, I think there are lots of .NET apps that do work very well, and have powered lots of the apps we use for banking, e-comm, and more. The quality of code, overall, seems to have gone  up. I see fewer and fewer crashes and more stability, as well as a higher rate of change.

    In the case of the software I am talking about poor decisions, bad habits and just a clear total missing concept about how software should work is prevalent. I can't even begin to explain the number of times I have screamed obscenities while looking at their code. I mean real gems like stored procedures named "sp_curd_customers". And yes they spelled it "curd" instead of the more common "CRUD". And yes the procedure will create, read, update and delete all from the same table in a single procedure. And it does awesome stuff like require sending every column's value so you can delete the row. Not because it checks the rows, but because the parameters are all required. And then to add to the level of "are you kidding me", instead of using the typical multiple path type of logic each path is using dynamic sql (not parameterized either). So everything in the system is wide open to sql injection.

    This is NOT the fault of .NET. This is the fault of education systems around the world providing education and degrees to totally incompetent people because the education process is a joke. In this system the problem is not limited to the managed code. It is the front end (which runs in flash so you are forced to use IE), the back end code (.NET) and the database (sql server). Every aspect of this is a joke and full of logical flaws everywhere you turn. But we stick with it because they paid a LOT of money for this software. The upside is that it does about 30% of the stuff that was promised. And of that 30% it works close to 90% of the time.

    If I sound a little bitter...well...imagine being the guy stuck trying to unravel problems in this.

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/

  • Likely have some job security though. With uneducated staff, always need to keep a few people around that do know something.

  • Sean Lange wrote:

    Haha Jeff. I do spend a lot more time than I would like writing managed code. But this is the same third party vendor's code who has this as a message. Not sure if this is an error message or they are telling that the update failed successfully. And yes this is an actual screenshot from production.

    Success

    BWAAAAA-HAAAAA-HAAAAAA!  Back when I was a Front-End Developer, the only concern that people would express is "Ummm, ok... the text above the button isn't centered about the button.  Please move it 23.5 pixels to the left" (yeah... half a pixel).  Of course, I'd save the relative position as a variable so that when they said to move it back because the combination of the check mark and the text was no longer centered, it was a piece of cake in a config file so I wouldn't even have to do a recompile.

    So glad I don't work with any of that any more and feel really bad for those that have to... especially those that have to fix "OPS-Code", which is a politically correct abbreviation for "Other People's S41T Code". 😀

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

Viewing 15 posts - 64,111 through 64,125 (of 66,712 total)

You must be logged in to reply to this topic. Login to reply