Search code examples
node.jsazure-sql-databasetedious

How do I connect to SQL Azure from NodeJS/Tedious?


I have a SQL Azure database that I'm trying to connect to from a NodeJS application running in an Azure Linux VM. Everything works fine when I'm on a local SQL Database/and local machine for NodeJS. However, when I run from my vm, I get the following output (My trace output plus the Tedious debug event):

connected to XXXXXXX.database.windows.net:1433
State change: Connecting -> SentPrelogin
State change: SentPrelogin -> SentLogin7WithStandardLogin
connection to XXXXXXX.database.windows.net:1433 closed
State change: SentLogin7WithStandardLogin -> Final
Writing CSV files....
connection to XXXXXXX.database.windows.net:1433 closed
State change: Final -> Final
All Done!

The problem is that no error is ever raised, but the connection seems to be automatically closed.

Any thoughts on what might be happening here or how I can get to an actual error?


Solution

  • Ok - solved it thanks to this thread

    There were 2 issues:

    1. SQL Azure requires encrypted connections, so you need encrypt:true in the connection options
    2. the userName configuration option requires the database-qualified name (e.g. user@XXXXXX.database.windows.net)

    Just in case anyone else runs into this :)