Причина Никакого подходящего драйвера, найденного для

typedef typename Tail::inUnion dummy;

Однако я не уверен, что реализация inUnion верна. Если я правильно понимаю, этот класс не должен быть создан, поэтому вкладка «fail» никогда не будет автоматически терпеть неудачу. Возможно, было бы лучше указать, находится ли тип в объединении или нет с простым булевым значением.

template  struct Contains;

template 
struct Contains >
{
    enum { result = Contains::result };
};

template 
struct Contains >
{
    enum { result = true };
};

template 
struct Contains
{
    enum { result = false };
};

PS: Посмотрите на Boost :: Variant

PS2: посмотрите на typelists , особенно в книге Андрея Александреску: Modern C ++ Design

19
задан Jim Ferrans 16 January 2012 в 03:42
поделиться

10 ответов

Не уверенный, если это стоит чего-нибудь, но у меня была подобная проблема, где я добирался "java.sql. SQLException: Никакой подходящий драйвер не нашел" ошибку. Я нашел этот поток при исследовании решения.

способ, которым я закончил тем, что решил свою проблему, состоял в том, чтобы воздержаться от использования java.sql. DriverManager для получения соединения и вместо этого создал экземпляр org.hsqldb.jdbc.jdbcDataSource и использовал это.

первопричина моей проблемы (я верю) имела отношение к classloader иерархии и тому, что JRE выполнял Java 5. Даже при том, что я мог успешно загрузить jdbcDriver класс, classloader позади java.sql. DriverManager был выше, до такой степени, что он не мог видеть hsqldb.jar, в котором я нуждался.

Так или иначе, просто поместив это примечание здесь в случае, если кто-то еще спотыкается с подобной проблемой.

0
ответ дан 30 November 2019 в 02:27
поделиться

Я думаю, что Ваш URL HSQL является неправильным. Это должно также включать имя базы данных,

так что-то как

jdbc:hsqldb:hsql://localhost/mydatabase 

, если mydatabase является названием Вашего DB (файл). Не включая это может (я не быть уверенным, имеет ли это место здесь), путают парсинг URL, который может привести к DriverManagerDS, думая, что Ваш драйвер не подходит (это найдено, но это думает, что это не хорошее)

0
ответ дан 30 November 2019 в 02:27
поделиться

Могло бы случиться так, что

hsql://localhost

не может быть разрешен в файл. Посмотрите на пример программы здесь:

Демонстрационная программа

HSQLDB Видит, можно ли получить ту работу сначала, и затем видеть, можно ли взять ту конфигурационную информацию и использовать ее в бобовой конфигурации Spring.

Удачи!

0
ответ дан 30 November 2019 в 02:27
поделиться

Можно ли импортировать драйвер (org.hsqldb.jdbcDriver) в один из исходных файлов? (Для тестирования этого, класс находится на самом деле на пути к классу).

, Если Вы не можете импортировать его затем, Вы могли бы попробовать включая hsqldb.jar в Вашем пути сборки.

1
ответ дан 30 November 2019 в 02:27
поделиться

Похоже, что Вы не указываете имя базы данных для соединения с, должен пойти что-то как

jdbc:hsqldb:hsql://serverName:port/DBname
2
ответ дан 30 November 2019 в 02:27
поделиться

Если Вы смотрите на свою строку первоначального соединения:

<property name="url" value="jdbc:hsqldb:hsql://localhost"/>

Сверхзвуковые документы предполагают пропавших без вести псевдонима после localhost:

http://hsqldb.org/doc/guide/ch04.html

3
ответ дан 30 November 2019 в 02:27
поделиться

"никакой подходящий драйвер" обычно не означает, что синтаксис для URL соединения является неправильным.

10
ответ дан 30 November 2019 в 02:27
поделиться

Хорошо, таким образом, вот решение. Большинство все сделали действительно правильные замечания, но ни один не решил проблему (СПАСИБО ЗА справку). Вот решение, которое я нашел для работы.

  1. банки Перемещения от.../web-inf/lib до PROJECT_ROOT/lib
  2. Изменяют путь сборки в затмении для отражения этого изменения.
  3. убранный и восстановленный мой проект.
  4. запустил junit тест и БУМ, он работал!

Мое предположение - то, что это имело некоторое отношение, как Ganymede читает банки в/web-inf/lib папка. Но кто знает... Это работает теперь.

4
ответ дан 30 November 2019 в 02:27
поделиться

У меня была та же проблема с пружиной, свободным-городским-населением-dbcp и оракулом 10 г. Используя этот URL я не получил 'подходящий драйвер' ошибка: jdbc:oracle:thin@192.168.170.117:1521:kinangop

вышеупомянутый URL пропускает полное двоеточие незадолго до. После исправления этого исчезла ошибка.

1
ответ дан 30 November 2019 в 02:27
поделиться

Чтобы HSQLDB регистрировался, вам необходимо получить доступ к его классу jdbcDriver. Вы можете сделать это так же, как в примере .

Class.forName("org.hsqldb.jdbcDriver");

Запускает статическую инициализацию класса jdbcDriver:

static {
    try {
        DriverManager.registerDriver(new jdbcDriver());
    } catch (Exception e) {}
}
29
ответ дан 30 November 2019 в 02:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: