您可以从 powershell 使用 SQLite 64 位 odbc

您可以从 powershell 使用 SQLite 64 位 odbc

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

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

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

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”时发生异常:“‘System.Transactions.Diagnostics.DiagnosticTrace’ 的类型初始化程序引发了异常。”

位于行:1 字符:8

$x.打开<<<<()

CategoryInfo:未指定:(:) [],MethodInvocationException

完全合格错误标识:DotNetMethodException

基本上,我的问题是:

  • 这种组合(64 位 SQLite ODBC 和 PowerShell)对任何人都有效吗?
  • 你知道我做错什么了吗?

相关内容