in

ljusberg.se

Smöråkning

November 2005 - Posts

  • Good news about work items

    Buck Hodges has some good news about how users are displayed in the RTM version of Team System. Instead of using the actual user name (in my case, "1910"), they will use the Display Name instead ("Ljusberg, Anders").

    Sure, I'm starting to remember most peoples user numbers by now, but the "Assigned to" drop down is actually rather scary... To be honest, if MS hadn't implemented this I'm not sure we would've been able to use the Work Item tracking functionality of Foundation Server at all.

    Posted Nov 30 2005, 02:22 PM by anders with no comments
    Filed under:
  • Team Foundation Server

    Another thing I've been looking forward to and finally got to do - installing Team Foundation Server. Now, the minimum requirement for a one-server installation is something like "Pentium IV 2.2GHz or better". Well.. I've just completed an installation on a Pentium II 450 MHz box, and so far so good (haven't played with it yet though.. I imagine it will be painfully slow).

    Posted Nov 29 2005, 05:25 PM by anders with no comments
    Filed under:
  • Custom Data Provider (continued)

    As I mentioned in my last post, I've been creating a custom data provider using the new Data Provider Model in .NET Framework 2.0.

    Everything went really smoothly until I wanted to use the DbProviderFactories.GetFactory() method to instantiate my class. I had registered my DbProviderFactory-derived class in machine.config and it was overriding all the abstract methods. According to every guide I could find (like this and this) that would be enough to be up and running with my new provider. But nooo, it just couldn't be as easy as that, now could it? Every time I tried to create my provider I got the following message:

    The requested .Net Framework Data Provider's implementation does not have an Instance field of a System.Data.Common.DbProviderFactory derived type.

    I tried googling, I tried looking through newsgroups but came up with no solution and no description of any steps I'd missed on the way. Finally, I decided to run ildasm on System.Data to find out what Microsoft did to the System.Data.SqlClient factory. And look what I found:

    .field public static initonly class System.Data.SqlClient.SqlClientFactory Instance

    It seems that all DbProviderFactory classes must be singletons, with the one and only instance being called "Instance". Maybe they could have mentioned something about this in the documentation...

    Well, the story doesn't end here though. Because the next step is to try to get my new Data Provider to show up in the Data Source Configuration Wizard. It looks like there is something called the DDEX (Data Designer Extensibility) and I think that will be the place to look for more info...

    Posted Nov 28 2005, 10:28 AM by anders with 3 comment(s)
    Filed under:
  • Custom Data Provider

    Back in the early days of the .NET Framework, I believe it was sometime early 2002, I read this article from MSDN Magazine. It describes how the Data Provider framwork can be extended with custom data providers and it was one of those reads that made me think "Wow, this .NET stuff is reeally cool!".

    Ever since I read it I've wanted to create my own Data Provider, but I never had any reason to do so. Until yesterday when I got my hands on a prototype for a service that we (propably) will use to connect to the legacy HP NonStop server here at MyTravel.

    The prototype service was currently implemented as a single method that took three parameters; the name of the "stored procedure"*, a separator character, and a list of parameters separated by that separator character. The method calls the server and the server responds with some information about the response (number of rows, column names etc) and long string with the result set (separated by tabs and line-breaks). This is then translated into a DataSet which is returned by the service.

    While the current design was certainly effective, it didn't really abstract the database as much as I wanted it to. I thought it would be neat if we could access the NonStop server in exactly the same way as we access our SQL Server. And so I remembered the article above. Since most of the ground was already laid (i.e. how to actually communicate with the server etc.) the process was really easy! It took me about 5-6 hours of programming, and at the end of the day I had a brand new set of classes - among them a DataConnection, a DataCommand, and a DataAdapter. And it works brilliantly!

    * They're not really stored procedures, they are Cobol programs that act more or less like stored procedures.

    Posted Nov 25 2005, 08:27 AM by anders with no comments
    Filed under:
Powered by Community Server (Non-Commercial Edition), by Telligent Systems