在SQL Server中修改从Microsoft Access链接的表


  本文标签:SQL Server Access 表

  问题:在之前的文章里我们都讨论过了如何在把 Microsoft Access的表链接到SQL Server里,那么如何使用Access来管理修改呢?如果你修改了相应SQL Server表的结构,会怎么样?如果你删除Access里链接的表,SQL Server里的表又会出现什么情况呢?

  专家解答:

  现在让我们来逐个解答以上的疑问  。首先是修改相应SQL Server表的结构的情况  。打开Tables(表格)页面,选择要修改的表,右击并选择菜单中的“Design View”选项(设计视图)  。

  

在SQL Server中修改从Microsoft Access链接的表(图一)

图1

  当你试图修改Access中链接表的结构设计时,会出现以下信息:

  在SQL Server中修改从Microsoft Access链接的表(图二)

  

在SQL Server中修改从Microsoft Access链接的表(图二)

图2

  这是因为所链接表的设计是为SQL Server的基本对象所有,即使用户在基本SQL Server数据库中被授予db_owner角色权限,用户也不能对表作出数据定义修改(DDL变化)  。如果你需要对表进行修改,你需要在 Microsoft SQL Server里进行修改,然后再重新链接表  。

  我们将使用Northwind数据库里的Territories表作为实例进行讲解  。从SQL Server的视图里该表的当前设计是这样的:

  在SQL Server中修改从Microsoft Access链接的表(图三)

  

在SQL Server中修改从Microsoft Access链接的表(图三)


图3

  在Access里该表的设计如下:

  在SQL Server中修改从Microsoft Access链接的表(图三)

  

在SQL Server中修改从Microsoft Access链接的表(图三)
图4

我们现在向SQL Server表里添加两列:分别是 RegionSupervisorID (int, null) 和TerritorySupervisorID (int, null),如下图所示:

  在SQL Server中修改从Microsoft Access链接的表(图四)

  

在SQL Server中修改从Microsoft Access链接的表(图四)
图5

  修改之后,Access表还是跟修改之前一样,没有现实变化:

在SQL Server中修改从Microsoft Access链接的表(图五)
图6

  为了在基本SQL表里确认结构改动,你需要利用Microsoft Access的Linked Table Manager  。在Access里按照以下路径打开: select Tools\Databases Utilities\Linked Table Manager  。

在SQL Server中修改从Microsoft Access链接的表(图六)
图7

  选择你想要更新的表,点击确定  。你会收到通知,告诉你所有的表都已成功更新  。然后关闭Linked Table Manager,回到Access主界面  。

在SQL Server中修改从Microsoft Access链接的表(图七)
图8

  现在我们再从Access的设计模式里查看链接表,就会发现之前添加的两列  。

【责任编辑:碧海蓝天 TEL:(010)68476606】