現在 PHP 7.3.21
とOracle CloudのATPを利用しています。
以前までは普通のOracle Databaseでしたが、ATPを使ってみようとしています。
ATPはDNS接続ではなく、walletでの接続
walletの中身は
cwallet.sso
ewallet.p12
keystore.jks
ojdbc.properties
sqlnet.ora
tnsnames.ora
truststore.jks
になります。
既存のソースがPDOでの接続でしたが、ociでの接続はできました。
$conn = oci_connect('ユーザー名', 'パスワード', '接続サービス名称','AL32UTF8');
ociではPDOに比べ、改修範囲が多いので、PDO接続を行いたいです。
PDOの公式のドキュメントを確認すると
<?php $tns = " (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = yourip)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) "; $db_username = "youname"; $db_password = "yourpassword"; try{ $conn = new PDO("oci:dbname=".$tns,$db_username,$db_password); }catch(PDOException $e){ echo ($e->getMessage()); } ?>
でした。
上記に従うならば
tnsnames.oraで確認すると、
yourip = adb.ap-tokyo-1.oraclecloud.com
でいけますか?
protocol=tcps
になってたのが気になりました。
sqldeveloperで疎通を試みましたが、繋がりませんでした。
分かる方いらっしゃったら教えてください。
回答2件
あなたの回答
tips
プレビュー