Při použití třídy SqlBulkCopy zkopírovat data ze zdroje dat tabulky v rozhraní .NET Framework 2.0 se zobrazí chybová zpráva: "System.InvalidOperationException: Nelze získat informace o řazení sloupce pro cílovou tabulku"

Překlady článku Překlady článku
ID článku: 944389 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

V aplikaci Microsoft .NET Framework 2.0 pomocí třídy SqlBulkCopy kopírování dat z System.Data.DataTable tabulky v Microsoft SQL Server. Pokud název tabulky obsahuje znak tečka (.), zobrazí se následující chybová zpráva:
Byl System.InvalidOperationException neošetřené
Zpráva = "Nepodařilo se získat informace o řazení sloupce pro cílové tabulky. Pokud tabulka není v aktuální databázi, musí být úplný název pomocí názvu databáze (např [mydb]..[mytable](např [mydb]..[mytable]); to platí také pro dočasné tabulky (např #mytable by být zadán jako tempdb..#mytable). "
Source="System.Data"

Příčina

Tento problém je způsoben problému v System.Data.dll souboru.

Jak potíže obejít

Tento problém vyřešit, vyhnout tečka znaky (.) v tabulce názvů.

Pokud máte použít znak tečka (.) v názvu tabulky, použijte znak tečka (.) jako část konvence pojmenování SQL. Použijte například název tabulky podobná následující:
Server.Database.Schema tablename

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Další informace

Kroky pro reprodukci tohoto chování

  1. V databázi Northwind spustit následující příkaz SQL:
    select * into [test.33] where 1 = 0
    --Create a table named [test.33].
    
  2. Vytvoření aplikace Visual C# a spusťte následující kód:
    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();
            }
    

Informace v zásobníku volání

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)

Vlastnosti

ID článku: 944389 - Poslední aktualizace: 3. ledna 2008 - Revize: 2.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Framework 3.0
  • Microsoft .NET Framework 3.5
Klíčová slova: 
kbmt kbexpertiseadvanced kbtshoot kbprb KB944389 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:944389

Dejte nám zpětnou vazbu

 

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