【问题标题】:ODBC Driver Error Querying External TableODBC 驱动程序错误查询外部表
【发布时间】:2022-08-06 03:41:58
【问题描述】:

我已经在 Azure SQL 中设置了一个外部表,以便根据此处的文档执行弹性查询 https://docs.microsoft.com/en-us/azure/azure-sql/database/elastic-query-overview?view=azuresql

我可以在 Azure Data Studio 中看到外部表,但是当我选择数据时出现以下错误:

消息 46833,第 16 层,状态 2,第 1 行
在远程服务器上执行查询时出错:[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]无效的对象名称

    标签: azure-sql-database azure-data-studio


    【解决方案1】:

    我收到此错误:

    消息 46833,第 16 层,状态 2,第 1 行
    在远程服务器上执行查询时出错:
    [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]无效的对象名

    如果您连接到任何其他数据库,请确保您的连接正确,您会得到

    无效的对象名称

    一种错误,因为您想要的对象不在该数据库中。

    我们在我们的环境中复制了同样的东西,我们可以从外部表中选择数据。

    示例代码:

    创建主密钥

    CREATE MASTER  KEY;
    

    创建范围凭据

    CREATE DATABASE SCOPED CREDENTIAL ElasqurDb12
    WITH IDENTITY = 'username', SECRET = 'password';
    

    创建外部数据源

    CREATE EXTERNAL DATA SOURCE MyElASqurDC12 WITH
    (
        TYPE = RDBMS,
        LOCATION = 'servername.database.windows.net',
        DATABASE_NAME = 'demo2',
        CREDENTIAL = ElasqurDb12,
    );
    

    创建外部表

    CREATE EXTERNAL TABLE Persons12 
    (
        PersonID int,
        LastName varchar(255),
        FirstName varchar(255),
        Address varchar(255),
        City varchar(255)
    ) 
    WITH 
    (
        DATA_SOURCE = MyElASqurDC12,
        SCHEMA_NAME = 'dbo',
        OBJECT_NAME = 'Persons'
    );
    

    从外部表中选择

    SELECT *  
    FROM Persons12;
    

    输出:

    【讨论】:

    • 谢谢,不知道我的连接有什么问题。我会试着找出答案
    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 2018-01-22
    • 2013-08-14
    • 2011-11-12
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    相关资源
    最近更新 更多