And if you had actually asked that question initially I would have simply moved on as I have no clue due to not using ODBC.
But all you did was put out a little bit of code and asked if anything was obviously wrong. Unless you intended to test the observation and knowledge capabilities of the readers of this list such a broad question is putting more burden on the reader than is necessary and doesn't let people quickly evaluate whether they can help.
All I wanted to do was avoid having you wait for hours just to get the same response that I put forth - provide more detail.