代码之家  ›  专栏  ›  技术社区  ›  rlb.usa

已编译的与未编译的数据库限定符

  •  1
  • rlb.usa  · 技术社区  · 16 年前

    我们有一个使用sql语句的asp.net应用程序,其中表名是非限定的。编译时,它运行良好,但未编译时,它会抱怨并出错,说这些表不存在。

    (限定名看起来像 Select * from MyDatabase.mySchema.MyTable ;

    不合格 Select * from MyTable )

    如果您自己在数据库上尝试这些查询,它将只接受限定名。

    发生什么事?我认为编译的应用程序和未编译的应用程序应该以相同的方式执行代码。

    2 回复  |  直到 16 年前
        1
  •  1
  •   ChrisLively    16 年前

    你在这里所说的“编译”到底是什么意思?

    我不认为你的问题在于你认为它是什么。听起来更像是一个安全上下文问题,在这种情况下,执行查询的用户上下文默认为将查询传递给myschema,而另一个默认为dbo。

        2
  •  0
  •   Mitchel Sellers    16 年前

    应用程序的行为将是相同的,我猜你是在谈论在cassini中运行和在iis中运行的区别?

    如果是这样,请确保连接字符串是特定的标识,而不是模拟调用方…

    推荐文章