PDO でサーバー上の mssql データベースを開くことができるかどうかを確認しようとしています。vbscript を使用すると、接続への呼び出しは次のようになります。
set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.Open("dsn=MYDSN;uid=MYUID;pwd=MYPWD;DATABASE=MYDATABASE;APP=ASP Script")
次に、PDO を使用してこれを php に移植しようとしたときに、PDO で DSN を使用することに関する情報を見つけることができませんでした。
これが私がこれまでに持っているものです:
try {
$conn = new PDO('mssql:Server=localhost;Database=MYDSN','MYUID','MYPWD') or die('error');
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "SELECT name FROM people";
$qresult = $conn->prepare($sql);
$qresult->execute();
foreach ($qresult->fetch(PDO::FETCH_ASSOC) as $row){
echo $row['name'].'<br/>';
}
} catch (PDOException $e) {
print "Error!: ".$e->getMessage()."<br/>";
die();
}
しかし、これは私が得るものです
Error!: SQLSTATE[HY000]: General error: 10007 Invalid object name 'name'. [10007] (severity 5) [(null)]
私の推測では、dsn を pdo コードのどこにも配置できないためです。