我已经安装了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
基本上,我的问题是: