Я пытаюсь установить PRAGMA foreign_key = ON; в базе данных sqlite. Я кодирую некоторое программное обеспечение в java, используя драйвер jdbc для sqlite, этот: http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC.SQLite JDBC PRAGMA установка
Я также использую объединение пула для ускорения запросов к БД. Я пользуюсь этой библиотекой: http://commons.apache.org/dbcp/.
До этого момента все хорошо. Теперь мне нужно установить PRAGMA, конкретно PRAGMA foreign_key = ON; перед созданием таблиц, потому что я должен быть уверен в согласованности между некоторыми столбцами в db.
Когда я создаю БД, он автоматически устанавливается в положение ВЫКЛ. Поэтому я должен включить его, чтобы использовать его.
Но я не знаю, как это сделать, как я готовлю однородны источник данных, как это:
public static DataSource getDataSource(String connectURI) {
GenericObjectPool connectionPool = new GenericObjectPool(null);
ConnectionFactory connectionFactory =
new DriverManagerConnectionFactory(connectURI, null);
PoolableConnectionFactory poolableConnectionFactory =
new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true);
DataSource dataSource = new PoolingDataSource(connectionPool);
return dataSource;
}
Но я не знаю, как установить, что прагму правильно, я обнаружил, что этот возможно:
SQLiteConfig config = new SQLiteConfig();
config.enforceForeignKeys(true);
Но я не знаю, как использовать его в связи с тем, что однородны сложными настройками ...
любых идеи?
Эта [ссылка] [1] может быть полезна. [1]: http://code-know-how.blogspot.ru/2011/10/how-to-enable-foreign-keys-in-sqlite3.html – Marco167