代码之家  ›  专栏  ›  技术社区  ›  DanM

MS SQL Server 2008-从MySQL迁移时的困惑re:“从表中选择XYZ”

  •  1
  • DanM  · 技术社区  · 17 年前

    所以我在这里很困惑。

    我必须将我的数据库从MySQL迁移到MS SQL Server 2008。我已经通过SQL Maestros的“MS SQL数据向导”应用程序传输了数据。它从我的MySQL数据库“gk”中获取数据+结构,并将其复制到我的MS SQL Express实例上的数据库“gk”中。

    但是,当我连接到MS SQL实例并尝试运行SQL查询时,只有在执行时才会得到结果” select * from gk.TABLENAME “或” select * from gk.gk.TABLENAME select * from TABLENAME “执行后” use gk

    错误:无效的对象名称“TABLENAME”
    SQLState:S0002

    我如何使其“正常”运行?也就是说,我连接到一个特定的数据库,这样我就不必显式地告诉它在哪个数据库/模式中查找表了?

    [HOSTNAME]\SQLEXPRESS (SQL Server ...)
      |-- Databases
           |-- System Databases
           |-- gk
                |...
                |-- Tables   
                      |-- TABLE1
                      |-- TABLE2
                      |-- TABLE3
    

    谢谢

    3 回复  |  直到 17 年前
        1
  •  1
  •   Jason DeFontes    17 年前

    在用户的登录属性对话框中有一个“用户映射”页面,您可以在其中设置用户的默认模式。将其设置为“gk”(在“gk”数据库中)应该允许您在不完全限定表的情况下编写查询。

        2
  •  1
  •   SarekOfVulcan    17 年前

    如果您还没有:

    USE gk
    GO
    
    SELECT * FROM tablename
    
        3
  •  0
  •   BradC    17 年前

    看起来向导创建了一个名为“gk”的数据库,然后将所有表放在名为“gk”的模式中。

    如果表存在于命名模式中(即,除了默认模式“dbo”之外的其他模式),那么在查询它时,您将始终必须指定模式。

    注: