donderdag 24 februari 2011

Talend SSO, NTLM to SQL Server 2008

Fresh laptop, let's re-install the Talend Open Studio for some testing. I usually work with SQL Server through Integrated Authentication (automatically logging on with your Windows account). Not so easy with Talend though. I finally got it to work by:

- downloading jTDS 1.2.5 from http://sourceforge.net/projects/jtds/files/jtds/

- extracting it, navigate to subfolder x86\SSO

- copy ntlmauth.dll to Windows\System32 (could be anywhere in your PATH if I understood several posts well)

- restart TOS

- leave username and password in the DbConnection settings empty

- in ServerName just the name of my computer (no instance name appended)

And then, ole, it worked!

dinsdag 22 februari 2011

Can you express order in UML?

Today a collegue asked me if he could express order in a class diagram. Well, you can't.

Situation: class QuestionList, composition of multiple Question items. Actually, each question in the QuestionList is of a specific subtype of Question. How to express that the Question items should be in a specific order?

The Association in the class diagram offers the attribute 'ordered' in the source or target role. This leads to the first set of classes in the diagram below. However, you cannot infer from it that in the QuestionList, an Object of type FirstQuestion should be first, and an object of type SecondQuestion second. Or even that you should have one of each.

Next option is to use Objects instead of Classes. As in the second diagram. It shows that MyQuestionList consists of one object of type FirstQuestion and one of type SecondQuestion, but still no order.

Classes and Objects

The problem is that the order in which questions are to be asked is a dynamic feature, not a static one. And since a Class Diagram is for static constructions, you cannot express order very well. So we go on to a more dynamic diagram: Collaboration. In this diagram you could use the role binding to state which type of question fulfills which role. And then read 'role' as 'being the first question' and so on. See the diagram below. It still isn't machine processable, but at least you have modelled it.

I'm open to better solutions.

Collaboration

donderdag 17 februari 2011

Oops, Visual Studio 2010 installed SQL Server Express

Fresh machine! Fresh Win7 pro!

I already loaded SQL Server 2008 R2.
Next is Visual Studio 2010. Full install or custom install? Well, what the h*, let's do a full install.

Oops, I did not anticipate that the full install of an IDE includes an RDBMS. My mistake I guess.

So I ended up with two SQL Server instances, one for 2008 R2, one for Express. Fresh machine becomes mess machine. In just 2 hours.

Problem is: When you re-run VS setup, it offers to add/remove features, but SQL Server Express is NOT one of those features. The uninstall team at MS clearly did not count on an RDBMS being included either. On to Add/Remove Programs (which, on a side-note, in Dutch is called 'Software', which is still an English noun...). No such entry as 'Microsoft SQL Server Express'. Hmmm.

But hey, I found out: In Add/Remove Programs find the entry 'Microsoft SQL Server 2008'. Select it. Choose 'Uninstall/Change'. It opens a window, choose 'Remove'. After some more steps you will be presented the choice which instance you would like to remove. Choose SQL Server Express. In the selectionlist for individual features do not select the Shared Features (you'll want to keep them for your 2008 R2 instance). Next, next, finish.

Win7 may complain about the uninstall not being compatible or something like that. Ignore it. It has uninstalled properly, as you can check by not seeing the SQL Server Express services in Run | services.msc any more.