Monday 3 December 2012

Weird cause of Msg 3989 / "New request is not allowed to start because it should come with valid transaction descriptor"

Running a query against SQL Server 2008 R2 using SQL Server Management Studio (or wot I sometimes and apparently-mistakenly call Enterprise Manager), I got back the error...

Msg 3989, Level 16, State 1, Line 1

New request is not allowed to start because it should come with valid transaction descriptor



This was a slightly tricky query I'd been building up and it used a table-value function (i.e. a user-defined function that returns a table type) which ran against a Linked Server's tables, joining that to local tables.

A quick google gave many hits about ADO.Net pooling and suggestions to upgrade things to latest service-packs.  In my case though this wasn't the problem.

All I needed to do was fix the table-value function, which was throwing a datatype-conversion error.  (I'd made a quick amendment and hadn't tested it outside the bigger query.)

Friday 10 August 2012

Quiet pump for a Biorb

Or not.

If anybody's wife gets themselves a Biorb (60, in this case) and sticks it in the living room, and then anybody thinks that they can sort out the well-I-wouldn't-get-away-with-this unreasonable racket made by the external air pump by suggesting they replace the pump with a slightly better specced "silent" pump like the Tetratec APS150.....   well, don't.

It might possibly be a different pitch, but it still makes equal noise and vibration.
Might try a (slightly-less-well-specced) Eheim when the embarrassment of the first failure has subsided...

UPDATE: 2013-11-13.
Eheim 3701.  Wahey!  Slightly less powerful, but much quieter than either the original or the Tetratec.

Wednesday 23 May 2012

Now IE9 hangs, now it doesn't.

IE9 fires up, I open a couple of pages in separate tabs (BBC News or something), then after a minute or two it hangs (as if it's "Not Responding", but it's not labelled as such in the Task Manager).

To compound the misery, it freezes the mouse-pointer when it hangs.  (It's okay:  I like my keyboard navigation anyway - and that still works for kicking round Windows and other apps.) Kill the iexplore.exe processes to get back to normal operation...

Anyway, looks like the solution is to hit the "Advanced" tab on your Internet Options (before the browser hangs, naturally!) and "Use Software Rendering instead of GPU Rendering".
Restart IE, and no more crashes for me!

Windows 7 64-bit, 32-bit IE9, Lenovo Thinkpad T500.

Sunday 15 April 2012

WaveMaker 6.4.5GA

Having recently installed Fedora to have a go at this, I'd downloaded the rpm for WaveMaker 6.4.5.
I figured I'd installed it, and things were going well enough except that I was getting a 404 resource cannot be found error for the ConfigurationTool webapp.  (The /ConfigurationTool path is configured to point to the  studioConfig directory in /opt/wavemaker-6.4.5GA - though it seems you can only see this if you check the Catalina config in /tmp/WaveMakerXXXXX when you've started WaveMaker up.)

Anyway, I downloaded and installed the rpm for 6.4.4 and that studioConfig directory has *way* more files in it.  Problem solved for me.
(Haven't reported this to the WaveMaker people because I'm not sure it wasn't my rpm download or install problem.  I've been doing this over a couple of days and I haven't used Linux in several years...)

Newbie-sillies on Fedora 16

I was trying to install a .run file (for PostgreSQL as it happens) and it just didn't seem to be working.
I was wondering things like "Does Fedora support .run files?" or "Is there some package installer I need to feed it to?" and it turned out that.... one needs to chmod the file (or use the Properties context-menu in Nautilus) to set it executable.
Do more newbie-orientated distributions at least display an "I'm not running this because it's not executable" warning?

Wednesday 15 February 2012

BI Publisher Locale, Dates, Numbers, and Bursting.

So you want to use BI Publisher 10.3.1.4 Enterprise and its bursting functionality.
(The bursting functionality lets you split a single generation of a report into lots of little reports /  documents. Think something like sending the whole day's data at once and having it broken down into a PDF per customer.)
Anyway, you can make a BI Publisher report multi-lingual, so to speak, by producing translations files for the template (I seem to recall they're called XLFs).  So, you know, pass "de_DE" and the template will display your labels in German, pass "en_GB" for British English and "en_US" for American.
I'm going to assume that most people know that Americans use a MM/DD/YY format for dates while we Brits use DD/MM/YY.  BI Publisher, when given a locale, pretty much handles those locale-based differences automatically when you generate a report.

However:
To use bursting functionality you have to schedule the job (through the GUI or using the scheduleReport element in the web-services).
When you're bursting, you use a query defined in the report that works out the "split by" information.  One of the fields the query returns is the locale.
However, when you schedule a report request, you also get to specify a locale.
Now the insane bit is this:
BI Publisher chooses the *language* in which to produce the individual document from the locale selected in the query;   BI Publisher chooses the *date formats* and *number formats* to use from the locale you use when you submit the schedule job request!

So you can produce German, British and American language documents from a single report request using bursting  -  but they all share the same date / number format.  Nice!