Foutbericht wanneer u gegevens uit een bron kopiëren naar een tabel in de klasse SqlBulkCopy de.NET Framework 2.0: ' System.InvalidOperationException: kolom sortering informatie voor de doeltabel mislukt "

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 944389 - Bekijk de producten waarop dit artikel van toepassing is.
Dit artikel is gearchiveerd. Het wordt aangeboden in de huidige vorm en wordt niet meer bijgewerkt.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Symptomen

In Microsoft.NET Framework 2.0-toepassing die u gebruikt deSqlBulkCopyklasse gegevens kopiëren uit een System.Data.DataTable aan een tabel in Microsoft SQL Server. Als de tabel de naam bevat een teken punt (.) u ontvangt het volgende foutbericht weergegeven:
System.InvalidOperationException is incorrect
Message = "kan verkrijgen kolomgegevens sortering voor de doeltabel. Als de tabel niet in de huidige database de naam moet worden gekwalificeerd met de databasenaam van de (bijvoorbeeld [mijndb]...[MijnTabel](bijvoorbeeld [mijndb]...[MijnTabel]); Dit geldt ook voor tijdelijke-tabellen (bijvoorbeeld #mytable zou worden opgegeven als tempdb..#MyTable). "
Source="System.Data'

Oorzaak

Dit probleem wordt veroorzaakt door een probleem in de System.Data.dll bestand.

Workaround

Om dit probleem vermijden stip tekens (.) in de tabelnamen.

Als u met een teken punt (.) in een tabelnaam Gebruik het teken punt (.) Als onderdeel van de naamgevingsregels van SQL. Bijvoorbeeld een tabel gebruiken die naam lijkt op de volgende:
Server.database.schema.tabelnaam

Status

Microsoft heeft bevestigd dat dit probleem in de Microsoft-producten die worden vermeld is in de sectie 'Van toepassing op'.

Meer informatie

Stappen om het gedrag te reproduceren

  1. Voer de volgende SQL-instructie in de database Noordenwind:
    select * into [test.33] where 1 = 0
    --Create a table named [test.33].
    
  2. Visual C#-toepassing maken en voer de volgende code:
    static void Main(string[] args)
            {
                SqlConnection con = new SqlConnection("Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=.");
                con.Open();
                SqlConnection dst = new SqlConnection("Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=.");
                dst.Open();
                SqlCommand com = new SqlCommand("select * from customers", con);
                SqlDataReader dr = com.ExecuteReader();
                SqlBulkCopy sbc = new SqlBulkCopy(dst);
                sbc.DestinationTableName = "Northwind.dbo.[Test.33]";
                sbc.WriteToServer(dr); // The failure occurs here.
                dst.Close();
                con.Close();
            }
    

Informatie over de call-stack

at System.Data.SqlClient.SqlBulkCopy.AnalyzeTargetAndCreateUpdateBulkCommand(BulkCopySimpleResultSet internalResults)
       at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal()
       at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 columnCount)
       at System.Data.SqlClient.SqlBulkCopy.WriteToServer(IDataReader reader)

Eigenschappen

Artikel ID: 944389 - Laatste beoordeling: vrijdag 16 januari 2015 - Wijziging: 3.0
De informatie in dit artikel is van toepassing op:
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Framework 3.0
  • Microsoft .NET Framework 3.5
Trefwoorden: 
kbnosurvey kbarchive kbexpertiseadvanced kbtshoot kbprb kbmt KB944389 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door middel van automatische vertalingssoftware van Microsoft en is mogelijk nabewerkt door de Microsoft Community via CTF-technologie (Community Translation Framework) of door een menselijke vertaler. Microsoft biedt zowel automatisch vertaalde, door mensen vertaalde en door de community nabewerkte artikelen aan, zodat er in meerdere talen toegang is tot alle artikelen in onze Knowledge Base. Een vertaald of bewerkt artikel kan fouten bevatten in vocabulaire, syntaxis of grammatica.. Microsoft is niet verantwoordelijk voor eventuele onjuistheden, fouten of schade ten gevolge van een foute vertaling van de inhoud van een bericht of het gebruik van deze vertaalde berichten door onze klanten.
De Engelstalige versie van dit artikel is de volgende: 944389

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com