JDBCドライバでデータベースに接続するにはどうすればよいですか?
21 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2021 年 5 月 25 日
編集済み: MathWorks Support Team
2023 年 11 月 17 日
異なる種類のドライバでデータベースにアクセスする方法を教えてください。
採用された回答
MathWorks Support Team
2023 年 11 月 17 日
編集済み: MathWorks Support Team
2023 年 11 月 17 日
以降では、1. Microsoft SQL サーバー、2. Oracle、3. My SQL に接続するJDBCデータベースを設定する方法をご紹介します。
なお、MATLAB での接続テストやその他の関連情報については、4,5 に記載されている内容をご覧ください。
1. Microsoft SQL サーバーの場合
1-1) ご利用のデータベースに適する最新の JDBC ドライバをダウンロードします。
(参考)
1-2) ドライバの設定やデータベース接続オブジェクトの作成方法は、ドライバに付属しているドキュメントをご参照ください。
2. ORACLE の場合
2-1) ご利用のデータベースに適する最新の JDBC ドライバをダウンロードします。
(参考)
2-2) 下記コマンドを実行し、MATLAB エディタにて $MATLAB\toolbox\local\classpath.txt を開きます。
edit classpath.txt
2-3) ファイル最終行に、データベースのドライバファイルのフルパスを追記します。
例:
C:\Drivers\Oracle\ojdbc6.jar
2-4) ファイルを保存し、MATLAB を再起動します。
2-5) 下記のようにコマンドを実行し、データベースに接続します。
% Syntax: database('databasename','username','password','driver','databaseurl')
% 111.222.333.444:1521 represents the IP address and port of the server.
conn = database('databasename','scott','tiger','oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@111.222.333.444:1521:');
3.MySQL の場合
3-1) 最新の JDBC ドライバ(Conenector/J)を下記よりダウンロードします。
3-2) 下記コマンドを実行し、MATLAB エディタにて $MATLAB\toolbox\local\classpath.txt を開きます。
edit classpath.txt
※ダイナミックな Sun Java class パスをドライバに追加する場合は、JAVAADDPATH 関数をご利用いただけます。
3-3)ファイル最終行に、データベースのドライバファイルのフルパスを追記します。
例:
C:\Drivers\MySQL\mysql-connector-java-5.1.12-bin.jar
3-4) ファイルを保存し、MATLAB を再起動します。
3-5) 下記のようにコマンドを実行し、データベースに接続します。
% Host: localhost, schema: test.
url = 'jdbc:mysql://localhost/test';
conn = database('databasename', 'username', 'password', 'com.mysql.jdbc.Driver', url);
4. 接続テスト
上記の設定を行った後、以下の方法にて接続テストを行うことができます。
% Open DB connection here.
% [...]
% Test the connection.
ping(conn)
if isconnection(conn)
% SQL query to get all fields from Table1.
curs = exec(conn,'SELECT * FROM Table1');
curs = fetch(curs);
data = curs.data; % Actual data.
% Update Table1.
% UPDATE TABLE1 SET Field1=1 WHERE Field2=1
% UPDATE TABLE1 SET Field1=2 WHERE Field2=2
% UPDATE TABLE1 SET Field1=3 WHERE Field2=3
update(conn,'Table1',{'Field1'},{1; 2; 3},{'WHERE Field2=1'; 'WHERE Field2=2'; 'WHERE Field2=3'});
% Update Table1.
% UPDATE TABLE1 SET Field1=1 WHERE Field3='aaa'
% UPDATE TABLE1 SET Field1=2 WHERE Field3='bbb'
% UPDATE TABLE1 SET Field1=3 WHERE Field3='ccc'
update(conn,'Table1',{'Field1'},{1; 2; 3},{'WHERE Field3=''aaa'''; 'WHERE Field3=''bbb'''; 'WHERE Field3=''ccc'''});
% Insert data into Table1.
exec(conn,'INSERT INTO Table1(Field1, Field2, Field3) VALUES(4, 4, ''ddd'')');
% Delete data from Table1
exec(conn,'DELETE FROM Table1 WHERE Field3=''ddd''');
% Add a records using FASTINSERT.
fastinsert(conn,'Table1',{'Field1', 'Field2', 'Field3'}, {1, 1, 'aaa'; 2, 2, 'bbb'; 3, 3, 'ccc'});
% Clean up.
close(conn);
end %if
5. 関連情報
・Setting Up Data Sources for Use with JDBC Drivers
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Database Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!