【问题标题】:[Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid object name[Microsoft][SQL Server Native Client 11.0][SQL Server]无效的对象名
【发布时间】:2013-12-15 11:20:43
【问题描述】:

我想访问 MS SQL Server 并进行选择查询。我已经安装了 dll 文件并且正在使用sqlsrv_query。连接成功,但我得到:

[Microsoft][SQL Server Native Client 11.0][SQL Server]无效对象 命名为错误

我使用的是 PHP 5.3.1 版

连接后我有这个代码

$sql = "SELECT id, latitude, longitude from job ";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
      echo $row['latitude'].", ".$row['longitude']."<br />";
}
sqlsrv_free_stmt( $stmt);

【问题讨论】:

    标签: php sql-server sqlsrv


    【解决方案1】:

    “job”是 SQL Server 中的保留字。使用这个:

    $sql = "SELECT id, latitude, longitude from [job] ";
    

    【讨论】:

    • 我用过但还是不行。它给出了同样的信息。**无效的对象名称**
    【解决方案2】:

    确保您已连接到服务器上的正确数据库,并且该数据库中存在名为 job 的表(或视图或别名)。

    【讨论】:

    • 我已经连接到它并且响应也被成功打印。但是当我尝试检索值时我遇到了问题。我有工作表,我也尝试过其他表但给出相同的结果
    【解决方案3】:

    尝试使用数据库和架构名称来执行,例如

    databaseName.schema.table

    $sql = "SELECT id, latitude, longitude from [DB_Name].[dbo].[job]";
    

    仅适用于 schema name: DBO 或任何其他

    $sql = "SELECT id, latitude, longitude from [dbo].[job] ";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多