Eu instalei o driver ODBC de 64 bits para o SQLite, baixado de esta página . Estou executando o PowerShell versão 2 no Windows 7.
Na configuração do ODBC, eu crio um DSN do sistema com o nome LoveBoat
, apontando para um arquivo válido. Eu não tenho nenhum aplicativo "real" para testar se a conexão ODBC funciona, mas o simples programa C # com o código abaixo funciona. Quero que o script do PowerShell também funcione com ele.
O programa C # de teste abaixo é executado e imprime os dados esperados:
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]);
}
}
}
No entanto, o seguinte script do PowerShell:
$x = new-object System.Data.Odbc.OdbcConnection("DSN=LoveBoat")
$x.open()
Fornece o seguinte erro:
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
Basicamente, minhas perguntas são:
Tags powershell odbc sqlite