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В виде a parallel.pool.Constant Объект (Parallel Computing Toolbox). Свойство Value parallel.pool.Constant объект доступен только на рабочих.

Введенный в R2019a