我需要查询同一服务器上不同数据库中两个表的数据,但它总是向我显示相同的错误消息:
警告:mssql_query():message:无效的对象名称“db1.ARTICULO”。 (严重程度16)
<?php
$server = 'servidor\SQLEXPRESS';
$link = mssql_connect($server, 'usuario', 'password');
if (!$link) {
die('Algo fue mal mientras se conectaba a MSSQL');
}
$bd_1 = "db1";
mssql_select_db($bd_1, $link);
$link2 = mssql_connect($server, 'usuario', 'password',true);
if (!$link2) {
die('Algo fue mal mientras se conectaba a MSSQL');
}
$bd_2 = "db2";
mssql_select_db($bd_1, $link2);
$query = "SELECT ARTICULO.CODIGO, ARTICULO.NOMBRE, PRECIOS.PRECIO " ;
$query .= "FROM db1.ARTICULO LEFT JOIN db2.PRECIOS ON ARTICULO.CODIGO = PRECIOS.ARTICULO " ;
$query .= "WHERE ARTICULO.CODIGO = '" . $_POST["codart"] . "'";
$result = mssql_query($query);
?>
有什么想法吗?
答案 0 :(得分:2)
在MSSQL中,您需要将目标指定为[database].[schema].[object]
。
更改此行...
$query .= "FROM db1.ARTICULO LEFT JOIN db2.PRECIOS ON ARTICULO.CODIGO = PRECIOS.ARTICULO " ;
......对此...
$query .= "FROM db1.dbo.ARTICULO LEFT JOIN db2.dbo.PRECIOS ON ARTICULO.CODIGO = PRECIOS.ARTICULO " ;
假设这一切都在默认的[dbo]
架构中。