Wednesday, 7 January 2015

Loan / Savings Calculator

I've been playing around with the latest Visual Studio web development tools.  I've made a loan calculator that has options to include additional fees both up front and periodically.  You can use it to figure out what the equivalent interest rate is if there were no fees, but you paid the same amount.  I also added a compound interest calculator, because, well, it was easy to do.  I'll eventually get charts on there, but for now it just calculates the total.

It's at

Tuesday, 23 December 2014

2014 Review

Not too sure if I'm going to keep the GoDaddy site, so will be continuing my blog here.  2014 was a fairly typical year.  Most of my time was devoted to 4 main clients in the following industries:
  • Financial: 57%
  • Mining: 20%
  • Forestry: 9%
  • Pulp Mill: 9%
  • Everything Else: 5%
As for tools, MS Access still played a majority role in my work, followed by SQL Server and ASP.NET.

Back in September, I got my first Microsoft Certification.

I passed exam 70-461 Querying Microsoft SQL Server 2012.  That gives me the title of Microsoft Certified Professional.  The plan is to pass two more SQL Server exams to get a MSCA: SQL Server status.

Looks like in 2015 I'll be doing quite a bit more work for a local pulp mill.  Their main programmer moved to Alberta so I was asked to take over his responsibilities.  I'm not sure how much work that will entail long term, but I'm excited to be able to help.  Looks like I'll be doing a lot more work in the ASP.NET field, rather than MS Access which will be a nice change.  Also, being able to visit a client regularly instead of remotely is a plus.

Tuesday, 21 October 2014

New Blog / Project Web Site

I signed up for a WordPress site over on GoDaddy.  I'm going to try to get my blog going over there, as well as some more detailed project pages.

It's here:

Monday, 3 March 2014

Hey! I have a blog!

I had very good intentions when starting this blog - it was going to be updated regularly.  Ah well.  Looks like I haven't really done a review of any kind since 2012.  So here's a quick review of 2013:

Did project work for 6 different clients, and minor maintenance work for 3 others.

The project work was broken down into the following industries:
  • Financial - 22%
  • Mining - 14%
  • Engineering - 27%
  • Pulp/Paper - 27%
  • Forestry - 6%
  • Airport - 4%
It was a moderately busy year - not quite as busy as the previous year, but not too bad.

This year is shaping up to be a good one if the first two months are any indication.  I've done about as much work in the last two months as I normally do in three.  If I were able I'd probably take March off, but the task list beckons...

Thursday, 14 February 2013

SQL Update Trigger Error

I was creating a trigger in SQL Server today and encountered an odd error.  The trigger was in a purchase order table and I wanted it to update a value in each row of the purchase order line table for the po when a vendor date was changed.

The error I was getting was:

No row was updated.
The data in row 1 was not committed.
Error Source: Microsoft.SqlServer.Management.DataTools.
Error Message: The row value(s) updated or deleted either do not make the row unique or they alter multiple rows(2 rows).

Much Google searching later...

To fix, add the following line above your UPDATE statment


That fixed the problem for me.

Monday, 1 October 2012

September (and summer, and fiscal year) Review

The last three months were a little lighter than usual, but I did work on a few things:
  • Access database that converts sales data to resource requirements by employee position
  • Database maintenance utility to purge old data from a program that's been running a number of years
  • Maximo related program that automatically emails vendors to remind them of outstanding purchase orders.
  • Client ranking function from an EMS system to help determine which clients are the most profitable.
  • Maximo related program to generate RFQ spreadsheets to email to clients and then upload the returned data from the clients.
  • SQL function to return written off totals for the year in an EMS database.
  • Plus a number of minor requests and edits to existing programs.
My fiscal year ended yesterday.  2011/2012 was a good year.  Got a new client at the beginning of it and it looks like they are going to be a long term one.

Monday, 6 August 2012

Restoring SQL Server Database with Change Data Capture

Just upgraded my SQL Server to version 2012.  I needed to because a client had upgraded and some features were making it difficult to restore their database to my computer.  Still, I got an annoying error when trying to restore the database via the wizard:

"System.Data.SqlClient.SqlError: Could not update the metadata that indicates database DBNAME is not enabled for Change Data Capture. The failure occurred when executing the command '[sys].[sp_MScdc_ddl_database triggers] ' drop". The error returned was 15517: 'Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission.'. Use the action and error to determine the cause of the failure and resubmit the request. (Microsoft.SqlServer.SmoExtended)"

I love cryptic error messages.

Anyway, after a bit of research I was able to restore the database by using the following line:

restoredatabase DBNAME FROM DISK = 'c:\data\BackupFile.bak' with keep_cdc 

The important bit was the 'with keep_cdc' option.