Предел ATTACH> 10 - PullRequest
       2

Предел ATTACH> 10

1 голос
/ 23 марта 2012

У меня проблема с программой базы данных sqlite. Я пытаюсь соединить 30 баз данных и работает с ошибкой в ​​пределе 10: «Ошибка SQLite слишком много подключенных баз данных - макс. 10 "

Согласно http://www.sqlite.org/c3ref/limit.html мы должны иметь возможность установить максимальное число разрешенных подключенных баз данных более 10. Я использую C # и system.data.sqlite.dll для интерфейса. Кто-нибудь знает, как я мог установить предел> 10?

1 Ответ

5 голосов
/ 23 марта 2012

На странице пределы реализации (выделено мной):

Максимальное количество подключенных баз данных может быть уменьшено во время выполнения с использованием sqlite3_limitИнтерфейс (db, SQLITE_LIMIT_ATTACHED, size).

На странице Ограничения времени выполнения Страница:

Для каждой категории ограничений SQLITE_LIMIT_ NAME существует жесткая верхняя граница, установленная во время компиляции макросом препроцессора C под названием SQLITE_MAX_ NAME .(«_ LIMIT _» в названии изменяется на «_ MAX _».) Попытки увеличить предел выше его верхней верхней границы молча обрезаются до верхней верхней границы.

На основетот факт, что вы можете только ограничить ограничение, я думаю, что SQLITE_LIMIT_ATTACHED - это скомпилированная константа, установленная на 10. Если вы хотите увеличить ее, вам придется изменить ее в исходном коде и перекомпилировать SQLITE.

И еще:

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

Вот оно у вас.Даже если вы сделаете его больше 10, 62 будет жестким физическим ограничением из-за архитектуры базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...