在执行一个 CLR 例程或 SQL Server 2005 中使用程序集时的错误消息:"在主机存储区中的组件在 GAC 中有一个不同的签名比程序集。

来源:互联网 发布:苹果相册加密软件 编辑:程序博客网 时间:2024/06/08 03:42
请考虑以下方案。

方案 1

假定 MyDateTime 数据类型在 $ 存储中所占 9 个字节。
  1. 在 SQL Server 管理 Studio,创建一个新表,通过运行下面的语句中包含一列 VARBINARY(9) 数据类型:
    CREATE TABLE TempTable (c1 VARBINARY(9))
  2. 运行以下的 INSERT … SELECT 语句,以填充 TempTable 表:
    INSERT INTO TempTable SELECT CAST(c1 as VARBINARY(9)) FROM MyTable
  3. 在 SQL Server 管理 Studio,请按照下列步骤操作:
    1. 删除 MyTable 表。
    2. 除去 MyDateTime 数据类型。
    3. 除去 System.DirectoryServices.dll 程序集。
    4. 除去 MyAssembly 程序集。
  4. 在 SQL Server 管理 Studio,请按照下列步骤操作:
    1. 注册 System.DirectoryServices.dll 程序集。
    2. 注册 MyAssembly 程序集。
    3. 创建 MyDateTime 数据类型。
    4. 创建一个具有相同的表结构,作为 MyTable 表的新表。
  5. 运行以下的 INSERT … SELECT 语句,以填充 MyTable 表:
    INSERT INTO MyTable SELECT c1 FROM TempTable
原创粉丝点击