Forum: C#-Xml-SqlBulkcopy

Forum huvudsida -> Programmering -> C#-Xml-SqlBulkcopy

Sidor: 1

Till botten

netKen 17:17 - 22:a Februari 2010 | Post #1
Medlem
Inlägg: 26


Skicka PM
Jag undrar vad som är galet med min kod.
Har en databas med samma kolumner som i columnmappings i koden men den kopierar bara de 2 första dvs. produktid och produktnamn, resten hittar den ej.

Ändra till din connectionstring, och
databasen finns här:
http://netken.se/tips/DBTips.rar


C#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Xml;

namespace copyXmlSql
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

protected void GetXml_Click(object sender, EventArgs e)
{
string connectionString = "Data Source=KMJ-PC\SQLEXPRESS;Initial Catalog=Tips;Integrated Security=True";

DataSet ds = new DataSet();

DataTable sourcedata = new DataTable();

ds.ReadXml(@"http://netken.se/tips/stryk.xml");

sourcedata = ds.Tables[0];

using (SqlConnection sqlconn = new SqlConnection(connectionString))

{

sqlconn.Open();

using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlconn))

{

bulkCopy.ColumnMappings.Add("produktid", "produktid");

bulkCopy.ColumnMappings.Add("produktnamn", "produktnamn");

bulkCopy.ColumnMappings.Add("omgang", "omgang");

bulkCopy.ColumnMappings.Add("datum", "datum");

bulkCopy.ColumnMappings.Add("spelstatus", "spelstatus");

bulkCopy.ColumnMappings.Add("matchnummer", "matchnummer");

bulkCopy.ColumnMappings.Add("hemmalag", "hemmalag");

bulkCopy.ColumnMappings.Add("bortalag", "bortalag");

bulkCopy.ColumnMappings.Add("hemmaresultat", "hemmaresultat");

bulkCopy.ColumnMappings.Add("bortaresultat", "bortaresultat");

bulkCopy.ColumnMappings.Add("utfall", "utfall");


bulkCopy.DestinationTableName = "tbl_xmlTips";

bulkCopy.WriteToServer(sourcedata);

}

}

}


}
}






martin310 17:34 - 23:e Februari 2010 | Post #2
Medlem
Inlägg: 132


Skicka PM
Prova byta ut pruduktid mot någon annan:
t.ex:

bulkCopy.ColumnMappings.Add("omgang", "omgang");

bulkCopy.ColumnMappings.Add("datum", "datum");

bulkCopy.ColumnMappings.Add("produktid", "produktid");

bulkCopy.ColumnMappings.Add("produktnamn", "produktnamn");

Så att du kan se om de stoppar eller något annat.

(Min tvåhundrade post!)

-------------------------

Hjälp jorden med Granola, det är gratis och funkar på både Windows och Linux, och försämrar inte datorns prestandad!





netKen 17:23 - 3:e Maj 2010 | Post #3
Medlem
Inlägg: 26


Skicka PM
hej, ursäkta sena svaret.
Har testat det men d funkar inte heller. Håller på att gå igenom en Xml bok nu. Återkommer när jag hittat lösningen.




Sidor: 1

Forum huvudsida -> Programmering -> C#-Xml-SqlBulkcopy
Atom feed

Du får inte posta i den här tråden | Till toppen