createConnectionForPool

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

Описание

пример

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

Примечание

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

Примеры

свернуть все

Используя подключение к базе данных ODBC, получайте доступ к базе данных с помощью параллельного пула (требует Parallel Computing 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, получайте доступ к базе данных с помощью параллельного пула (требует Parallel Computing 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 (Parallel Computing Toolbox) объект.

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

Пример: "myDataSource"

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

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

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

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

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

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

свернуть все

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

Введенный в R2019a