有人要求我在旧的asp-classic应用程序中进行一些更改。 生产服务器以及用于测试和开发的服务器,或者距离20多个路由器的服务器,从键入到看到类型之间的时间差太可怕了。 因此,我在这里设置了一个服务器,就像他们的(MS Server 2008)安装了MS SQL Server 2008 R2一样。 我以为我像配置数据库一样配置数据库。 他们有成千上万的旧vbscript行。

我备份了远程测试数据库,将其复制到服务器上并在那里还原了。 我复制了他们已经结束的脚本正文。 网站已启动并正在运行。 但是...。任何需要查询数据库的操作都会产生错误“无效的对象名称'atable'。查看它们的代码,然后在任何地方都没有完全限定的名称。我登录到远程服务器,启动Management Studio并且确定您不需要完全限定的名称来进行任何查询。我问他们是否可以更改所有代码以使用完全限定的名称,答案是否定的。我问他们如何配置数据库,答案是以前的。承包商以这种方式进行设置(他们喜欢)

所以我的问题; MS SQL Server 2008中是否有一个配置选项默认不使用完全限定的名称? 他们怎么能不使用代码中的数据库,所有者,模式呢? 我以应用程序用户身份登录,这似乎也没有帮助。

拜托,我知道我们应该使用标准名称作为最佳做法。 我已经阅读了有关性能提升/损失的评论。 当您自动编写创建数据库脚本的脚本时,其数据库实例将使用架构名称。 如果我使用该架构名称作为表名称的开头,那么一切都很好。 他们只是不想让我在我为他们编辑或创建的任何脚本中这样做。

#1楼 票数:0

未指定对象(从表1中选择*)的分辨率顺序是sys,然后是用户的默认架构,最后是dbo。 因此,SQL Server(根据数据库上下文)将在sys模式中查找table1,然后在分配的模式(可能为dbo或不为dbo)中查找表,最后是dbo。 只要一切都在dbo中(这是一种非常不好的做法,但是您会被困住),一切都会被找到。 就像使用一个房间来存储所有内容。

我曾在一个非常敏锐的经理那里工作,该经理支持许多数据库,这使我的做法是将他的所有对象标识为三个部分的名称-databasename.schema.object,但我知道Microsoft打算在Windows中停止支持这种类型的名称解析。未来。 但是至少在脚本中看到所有对象的schema_name.object_name极为普遍。

  ask by Madcowtricks translate from so

未解决问题?本站智能推荐:

3回复

SQL Server中的列名全限定名

我阅读了SQL Server文档 ,我可以在简单的SELECT查询的FROM子句中指定列名。 但是当我尝试运行此查询时: 我收到以下错误: 消息7202,级别11,状态2,第1行在sys.servers中找不到服务器“ my_db”。 验证是否指定了正确的服务器名称。 如
2回复

如何在C ++中获取完全限定的路径名

是否有一个函数返回任何输入文件的完全限定路径名? 我想的是: 谢谢
1回复

在Erlang中使用完全限定的函数调用?

我刚学会了如何在Erlang中升级模块,我知道只有使用完全限定名称的函数调用(例如.module module:function() )才能“重新链接”到加载到VM中的当前版本,但是函数未指定模块名称的调用不会“重新链接”到当前版本,而是继续使用旧版本。 是否有关于何时使用完全限定函数调用
2回复

在Python中,类名的自动完全限定如何工作? [与对象酸洗有关]

(可以直接跳到问题,进一步向下,并跳过介绍。) 从用户定义的类中挑选Python对象存在一个常见的困难: 实际上,试图从另一个程序loader.py获取对象 结果是 实际上,该类是通过名称(“C”)进行loader.py ,而loader.py程序对C没有任何了解。
1回复

如何在 CSharp 编辑器的 .editorconfig 中的嵌套范围内更喜欢完全限定的“使用名称”

我希望我的 Visual Studio #CS 编辑器更喜欢在 using 语句中使用完全限定的命名。 所以我更喜欢: 而不是 Resharper 中有这样一个选项“在嵌套范围内优先使用完全限定的名称”。 .editorconfig 文件中的并行设置是什么?
2回复

带/ etc / hosts的完全限定机器名Java

我正在尝试用Java获取我的机器(Windows 7 x64)的完全限定名称。 在我的机器上,我更新了c:\\ Windows \\ system32 \\ drivers \\ etc \\ hosts文件,使其具有如下条目: 我们所有的系统在\\ etc \\ hosts文件中都有
1回复

如何使用MS SQL Server 2008在ASP中连接和运行SQL代码?

我正在尝试使用经典的ASP文件连接到MS SQL Server并运行一个SQL查询,该查询在ASP文件中提供输出。 我正在使用MS SQL Server 2008和Windows aunthentication。 我阅读了许多文章,并经历了一些问题和答案,但似乎没有任何帮助。 我使用以
1回复

不可能在函数定义的类外声明符中完全限定类名

这个程序导致了一个不希望的解析贪婪死胡同: :8:1: 错误:“float4x4”中没有名为“C”的成员; 你的意思是简单的'C'吗? float4x4::C::M() ^~~~~~~~~~~~~ 可以使用尾随返回类型“固定”: 现在一切都很好。 所以我认为在使用标题返回类型