你可以在PowerShell中使用SQLite 64位odbc

我已经安装了64位的SQLite的ODBC驱动程序,从这个页面下载。 我在Windows 7上运行PowerShell版本2。

在ODBCconfiguration中,我创build一个名为LoveBoat的系统DSN,指向一个有效的文件。 我没有任何“真实”的应用程序来testingODBC连接是否工作,但是下面的代码是简单的C#程序。 我也希望PowerShell脚本也可以使用它。

下面的testingC#程序运行并打印出预期的数据:

 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]); } } } 

但是,以下PowerShell脚本:

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

产生以下错误:

使用“0”参数调用“Open”的exception:“System.Transactions.Diagnostics.DiagnosticTrace的types初始值设定项引发exception。

在行:1 char:8

$ x.Open <<<<()

CategoryInfo:NotSpecified:(:) [],MethodInvocationException

FullyQualifiedErrorId:DotNetMethodException

基本上,我的问题是:

  • 这个组合(64位SQLite ODBC和PowerShell)是否适用于任何人?
  • 你能看到我做错了吗?