ขณะนี้คุณออฟไลน์อยู่ กำลังรออินเทอร์เน็ตเพื่อเชื่อมต่ออีกครั้ง

ยู่ใน GAC, CLR ตรวจสอบ ที่ โมดูลรุ่นรหัส (MVIDs) ของแอสเซมบลีเหล่านี้ตรงกัน ถ้า MVIDs เหล่านี้ แอสเซมบลีไม่ตรงกัน คุณได้รับข้อความแสดงข้อผิดพลาดข้อความที่จะ "อาการ" ส่วน mentions

เมื่อแอสเซมบลีเป็น recompiled, MVID ของการ การเปลี่ยนแปลงของแอสเซมบลี ดังนั้น ถ้าคุณปรับปรุง.NET Framework ในแอสเซมบลี.NET Framework มี MVIDs ที่แตกต่างกัน เนื่องจากมี recompiled แอสเซมบลีเหล่านั้น นอกจากนี้ ถ้า คุณปรับปรุงแอสเซมบลีของคุณเอง แอสเซมบลีนี้ recompiled ดังนั้น แอสเซมบลียังมีที่แตกต่างกัน MVID
การหลีกเลี่ยงปัญหา

วิธีแก้ปัญหา 1

เมื่อต้องแก้ไขสถานการณ์สมมติที่ 1 ในส่วน "อาการ" คุณต้องปรับปรุงในแอสเซมบลี.NET Framework ใน SQL Server ด้วยตนเอง เมื่อต้องการทำเช่นนี้ ให้ใช้คำสั่งแอสเซมบลีที่เปลี่ยนแปลงไป จุด เมื่อต้องการใหม่ รุ่นของแอสเซมบลี.NET Framework ใน โฟลเดอร์ต่อไปนี้:
%Windir%\Microsoft.NET\Framework\เวอร์ชั่น
หมายเหตุเวอร์ชั่น แทน รุ่นของ.NET Framework ที่คุณ การติดตั้ง หรือปรับปรุง

วิธีแก้ปัญหา 2

เมื่อต้องแก้ไขสถานการณ์สมมติ 2 นิ้ว "อาการ" ส่วน ใช้คำสั่งALTER แอสเซมบลีแอสเซมบลีในการปรับปรุง ฐานข้อมูล

ถ้าปัญหายังคงมีอยู่ หลังจากที่คุณทำเช่นนี้ ปล่อยแอสเซมบลีจากฐานข้อมูล และ ลงทะเบียน รุ่นใหม่ แอสเซมบลี ในฐานข้อมูล
สถานะ
Microsoft ยืนยันว่า นี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ที่ระบุไว้ ในส่วน "ใช้กับ"
ข้อมูลเพิ่มเติม
เราไม่แนะนำให้ คุณใช้แอสเซมบลี.NET Framework ที่มีไม่ได้ในบทความ Knowledge Base 922672 บทความ Knowledge Base 922672 รายการแอสเซมบลีที่จะถูกทดสอบในสภาพแวดล้อมที่โฮสต์-CLR ของเซิร์ฟเวอร์ SQL

สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
922672 สนับสนุนนโยบายสำหรับแอสเซมบลี.NET Framework untested ในสภาพแวดล้อมที่โฮสต์-CLR ของเซิร์ฟเวอร์ SQL

คำอธิบายของงานประจำ CLR

งานประจำ CLR รวม วัตถุต่อไปนี้ที่ถูกนำไปใช้ โดยใช้ SQL Server การรวมกับการ CLR Framework .NET:

แอสเซมบลีในการปรับปรุงหลังจากที่คุณติดตั้งการ 3.5 Framework .NET

หลังจากที่คุณติดตั้งการ 3.5 Framework .NET คุณต้องใช้เปลี่ยน แอสเซมบลีใบแจ้งยอดการปรับปรุงแอสเซมบลีที่ต่อไปนี้: แอสเซมบลีเหล่านี้อยู่ในโฟลเดอร์ต่อไปนี้:
%Windir%\Microsoft.NET\Framework\v2.0.50727

วิธีการเก็บรักษาข้อมูลจากชนิดข้อมูลที่ผู้ใช้กำหนดเองหลังจากที่คุณลบแอสเซมบลี

ถ้าคุณปล่อยแอสเซมบลีที่ใช้ชนิดข้อมูลที่ผู้ใช้กำหนดเองจาก SQL Server คุณสามารถใช้หนึ่งในวิธีต่อไปนี้เมื่อต้องเก็บข้อมูล

สมมติว่า ต่อไปนี้เป็นสถานการณ์สมมติ:

วิธีที่ 1: ใช้โปรแกรมอรรถประโยชน์ bcp.exe

  1. ใช้โปรแกรมอรรถประโยชน์ Bcp.exe ร่วมกับสวิตช์–nการคัดลอก ข้อมูลจากตาราง MyTable ลงในแฟ้ม ตัวอย่าง ทำงาน คำสั่งต่อไปนี้ที่พร้อมท์คำสั่ง:
    bcp MyDatabase.dbo.MyTable out C:\MyFile.bcp -n –SSQLServerName  -T
  2. ใน SQL Server Studio จัดการ ให้ทำตามขั้นตอนเหล่านี้:
    1. ปล่อยตาราง MyTable
    2. ปล่อยชนิดข้อมูลMyDateTime
    3. ปล่อยSystem.DirectoryServices.dll แอสเซมบลี
    4. ปล่อยแอสเซมบลีMyAssembly
  3. ใน SQL Server Studio จัดการ ให้ทำตามขั้นตอนเหล่านี้:
    1. ลงทะเบียนSystem.DirectoryServices.dll แอสเซมบลี
    2. ลงทะเบียนแอสเซมบลีMyAssembly
    3. สร้างชนิดข้อมูลMyDateTime
    4. สร้างตารางใหม่ที่มีโครงสร้างตารางเดียวกันเป็น ตาราง MyTable
  4. ใช้โปรแกรมอรรถประโยชน์ Bcp.exe ร่วมกับสวิตช์–nไป นำเข้าข้อมูลจากแฟ้มลงในตาราง MyTable ตัวอย่าง ทำงาน คำสั่งต่อไปนี้ที่พร้อมท์คำสั่ง:
    bcp MyDatabase.dbo.MyTable in C:\MyFile.bcp -n –SSQLServerName  -T

วิธีที่ 2: ใช้การแทรก... คำสั่ง select

สมมติว่า ชนิดข้อมูลMyDateTimeกินพื้นที่ 9 ไบต์ในการเก็บข้อมูล
  1. ใน SQL Server Studio จัดการ สร้างตารางใหม่ที่ ประกอบด้วยคอลัมน์มีชนิดข้อมูลVARBINARY(9)โดยการเรียกใช้ต่อไปนี้ คำสั่ง:
    CREATE TABLE TempTable (c1 VARBINARY(9))
  2. การทำงานต่อไปนี้แทรก... เลือกคำสั่งเพื่อเติมข้อมูลนั้น ตาราง 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. การทำงานต่อไปนี้แทรก... เลือกคำสั่งเพื่อเติมข้อมูลนั้น ตาราง MyTable:
    INSERT INTO MyTable SELECT c1 FROM TempTable
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรุ่นของแอสเซมบลี แวะไป ต่อไปนี้ของ Microsoft Developer Network (MSDN) เว็บไซต์:
.aspx http://msdn2.microsoft.com/en-us/library/51ket42z (VS.80)
สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการปรับปรุงแอสเซมบลี แวะไปที่เว็บของ MSDN ต่อไปนี้ ไซต์:
http://msdn2.microsoft.com/en-us/library/ms186711.aspx
สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการลบแอสเซมบลี แวะไปที่เว็บของ MSDN ต่อไปนี้ ไซต์:
http://msdn2.microsoft.com/en-us/library/ms177514.aspx
สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการลงทะเบียนแอสเซมบลีในฐานข้อมูล SQL Server 2005 แวะไปที่ MSDN เว็บไซต์ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/ms189524.aspx
สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมอรรถประโยชน์ Bcp.exe แวะไปที่ MSDN เว็บไซต์ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/ms162802.aspx

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 949080 - การตรวจสอบครั้งสุดท้าย: 01/07/2013 20:53:00 - ฉบับแก้ไข: 1.0

  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • kbexpertiseadvanced kbtshoot kbprb kbmt KB949080 KbMtth
คำติชม