Назад | Перейти на главную страницу

Можете ли вы использовать SQLite 64-битный odbc из powershell

Я установил 64-битный драйвер ODBC для SQLite, скачанный с эта страница. Я использую PowerShell версии 2 в Windows 7.

В конфигурации 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»: «Инициализатор типа для 'System.Transactions.Diagnostics.DiagnosticTrace' вызвал исключение».

В строке: 1 символ: 8

$ x.Open <<<< ()

CategoryInfo: NotSpecified: (:) [], MethodInvocationException

FullyQualifiedErrorId: DotNetMethodException

В основном, мои вопросы: