PHP の PDO を使用して Microsoft SQL Server / Microsoft Azure データベースに接続しようとしています。
<?php
// no actual login data, but similar string lengths
$dbHost = 'aa1234bbb5.database.windows.net';
$dbUser = 'db_a1a1a1a1_b2b2_c3c3_d4d4_e5e5e5e5e5e5_ExternalWriter';
$dbPass = 'pPAs0wOoO1&r#dd';
$dbName = 'db_a1a1a1a1_b2b2_c3c3_d4d4_e5e5e5e5e5e5';
try {
$pdo = new PDO("dblib:host=$dbHost:1433;dbname=$dbName", $dbUser, $dbPass);
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
PDO の初期化により、次のメッセージとともに PDOException がスローされます。
SQLSTATE[HY000] Name too long for LOGINREC field (severity 2)
Debian 7.7 x64 で PHP 5.4.41-0+deb7u1 を実行しています。
私の質問は次のとおりです。
- このエラー メッセージが表示されるのはなぜですか?
- 実際にデータベースに接続するにはどうすればよいですか?
注: Microsoft Access Web App のバックエンド データベースにアクセスする必要があるため、ログイン データを変更できません。このような Web アプリを作成すると、Microsoft は、"公開されている" Azure サーバーの 1 つにデータベースを作成します。サーバーにユーザー名とパスワードを提供するように依頼できますが、残念ながら、提供されたものを使用する必要があります。

