Как получить список всех источников данных ODBC или Access на 64-битной машине, используя C # - PullRequest
0 голосов
/ 17 сентября 2018

Мое приложение теперь поддерживает только 64-битную версию, и мне нужно получить все ODBC или Access DataSouces, имеющиеся на компьютере или только что созданные.

Ниже приведен код для извлечения списка в 32-разрядной версии, но теперь происходит сбой при вызове метода SQLAllocEnv.

[DllImport("odbc32.dll")]
private static extern int SQLDataSources(
  int EnvHandle, int Direction, StringBuilder ServerName,
  int ServerNameBufferLenIn, ref int ServerNameBufferLenOut,
  StringBuilder Driver, int DriverBufferLenIn, ref int DriverBufferLenOut);

 [DllImport("odbc32.dll")]
 private static extern int SQLAllocEnv(ref int EnvHandle);

 [DllImport("odbc32.dll")]
 private static extern int SQLFreeEnv(int EnvHandle);

Итак, кто-нибудь знает, как решить эту проблему?

1 Ответ

0 голосов
/ 17 сентября 2018

В каком-то посте я обнаружил, что изменение int dataType на long будет работать, и да, это работает и в моем случае.

...