2

I have installed 64 bit ODBC driver for SQLite, downloaded from this page. I am running PowerShell version 2 on Windows 7.

In the ODBC configuration I create a system DSN with name LoveBoat, pointing to a valid file. I don't have any "real" apps to test whether the ODBC connection works, but the simple C# program with the code below works. I want the PowerShell script to work with it as well.

The test C# program below runs and prints out the expected data:

using System.Data.Odbc;
using System.Data;
using System;

public class program
{
  public static void Main(string[] args)
  {
OdbcConnection conn = new OdbcConnection(@"DSN=LoveBoat");
conn.Open();
OdbcCommand comm = new OdbcCommand();
comm.CommandText= "SELECT Name From Myfavoritetable";
comm.Connection = conn;
 OdbcDataReader myReader = comm.ExecuteReader(CommandBehavior.CloseConnection);
 while(myReader.Read())
   {
     Console.WriteLine(myReader[0]);
   }
  }
}

However, the following PowerShell script:

 $x = new-object System.Data.Odbc.OdbcConnection("DSN=LoveBoat")
 $x.open()

Yields the following error:

Exception calling "Open" with "0" argument(s): "The type initializer for 'System.Transactions.Diagnostics.DiagnosticTrace' threw an exception."

At line:1 char:8

$x.Open <<<< ()

CategoryInfo : NotSpecified: (:) [], MethodInvocationException

FullyQualifiedErrorId : DotNetMethodException

Basically, my questions are:

  • Does this combination (64 bit SQLite ODBC and PowerShell) work for anyone?
  • Can you see what I am doing wrong?

0 Answers0