exponenta event banner

createConnectionForPool

Инициализация параллельного пула с помощью подключения к базе данных

Описание

пример

c = createConnectionForPool(pool,datasource,username,password) инициализирует параллельный пул путем создания подключения к базе данных для каждого работника в пуле с использованием источника данных, имени пользователя и пароля.

Примечание

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

Примеры

свернуть все

Используя подключение к базе данных ODBC, получите доступ к базе данных с помощью параллельного пула (требуется Toolbox™ параллельных вычислений). Параллельный импорт данных из нескольких запросов SQL.

Для каждого работника пула установлен драйвер ODBC. Кроме того, каждый работник имеет настроенный источник данных ODBC. Дополнительные сведения см. в разделе configureODBCDataSource функция.

Запустите параллельный пул.

pool = gcp;
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 6).

Инициализируйте параллельный пул с помощью источника данных ODBC. Этот источник данных настраивает драйвер ODBC для базы данных Microsoft ® SQL Server ® с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль.

datasource = "MS SQL Server Auth";
username = "";
password = "";
c = createConnectionForPool(pool,datasource,username,password);

Определите запросы SQL.

sqlqueries = ["SELECT * FROM invoice" ...
    "SELECT * FROM inventorytable" ...
    "SELECT * FROM producttable"];

Параллелизируйте доступ к данным с помощью корзины запросов путем вызова parfor функция.

Для каждого работника извлеките объект подключения к базе данных, выполните SQL-запросы и импортируйте данные локально.

parfor i = 1:length(sqlqueries)

    conn = c.Value;

    results = fetch(conn,sqlqueries(i));

    allresults{i} = results;

end

Просмотрите результаты для всех запросов. Массив ячеек содержит три таблицы, по одной для каждого набора результатов запроса.

allresults
allresults = 1×3 cell array
    {10×5 table}    {13×4 table}    {15×5 table}

Закройте параллельный пул.

delete(pool);

Используя подключение к базе данных JDBC, получите доступ к базе данных с помощью параллельного пула (требуется Toolbox™ параллельных вычислений). Параллельный импорт данных из нескольких запросов SQL.

Чтобы инициализировать параллельный пул с подключением к базе данных JDBC, необходимо настроить источник данных JDBC. Дополнительные сведения см. в разделе databaseConnectionOptions функция.

Запустите параллельный пул.

pool = gcp;
Starting parallel pool (parpool) using the 'local' profile ...
Connected to the parallel pool (number of workers: 6).

Инициализация параллельного пула с использованием источника данных JDBC MSSQLServerJDBCAuth. Этот источник данных настраивает драйвер JDBC для базы данных Microsoft ® SQL Server ® с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль.

datasource = "MSSQLServerJDBCAuth";
username = "";
password = "";
c = createConnectionForPool(pool,datasource,username,password);

Определите запросы SQL.

sqlqueries = ["SELECT * FROM invoice" ...
    "SELECT * FROM inventorytable" ...
    "SELECT * FROM producttable"];

Параллелизируйте доступ к данным с помощью корзины запросов путем вызова parfor функция.

Для каждого работника извлеките объект подключения к базе данных, выполните SQL-запросы и импортируйте данные локально.

parfor i = 1:length(sqlqueries)

    conn = c.Value;

    results = fetch(conn,sqlqueries(i));

    allresults{i} = results;

end

Просмотрите результаты для всех запросов. Массив ячеек содержит три таблицы, по одной для каждого набора результатов запроса.

allresults
allresults = 1×3 cell array
    {10×5 table}    {13×4 table}    {15×5 table}

Закройте параллельный пул.

delete(pool);

Входные аргументы

свернуть все

Параллельный пул, указанный как parallel.Pool (Панель параллельных вычислений).

Имя источника данных, указанное как вектор символа или скаляр строки. Укажите имя существующего источника данных.

Пример: "myDataSource"

Типы данных: char | string

Имя пользователя, необходимое для доступа к базе данных, указанное как вектор символов или скаляр строки. Если имя пользователя не требуется, укажите пустое значение "".

Типы данных: char | string

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

Типы данных: char | string

Выходные аргументы

свернуть все

parallel.pool.Constant, указано как parallel.pool.Constant (Панель параллельных вычислений). Свойство Value объекта parallel.pool.Constant доступен только для работников.

Представлен в R2019a