DataSet export do access databazy   otázka

C#

Dobry den,

potreboval by som pomoc ako najrychlejsie ulozit DataTable z DataSet do MS access databazy(accdb).

Ulozit potrebujem data aj struktury tabulky!

Mam tabulku v accdb() ktoru nacitam do DataSet po namapovani stlpcov.

Nepoznam vopred stukturu a typ slpcov.

Nacitavam ju takto:

internal static DataTable GetData(OleDbConnection oleDbConnection, string strSourceTable, string strSurfix)
		{

			OleDbConnection cnSelect = oleDbConnection;
			DataTable dt = new DataTable();

			try
			{
				var strSQL = "SELECT * FROM [" + strSourceTable + "]";		
				using (OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter( strSQL, cnSelect))
				{
					dt.TableName = strSourceTable + strSurfix;
					oleDbDataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
					oleDbDataAdapter.Fill(dt);
				}
				return dt;
			}
			catch (Exception ex)
			{
				Log.Instance.ErrorException("GetData", ex);
				return null;
			}
			finally
			{
				cnSelect.Close();
			}

		}

Data v DataSet-e upravim a vystup bude ulozenie upravenej tabulky s koncovkov do toho isteho suboru accdb.

Tabulka ma zvycajne cca 100.000 zaznamov a 10-15 stlpcov.

Skusal som riesenia a pripadaju mi pomale:

- ADO.NET(generovanie insertov)

- ADO.NET(insert cez DataAdapter metodou Update)

- DAO nema podporu pre accdb .... len mdb, ale je najrychlejsie.

- ADOX

Viete mi niekto s tym pomoct?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nejsem si jistý, zda na takové množství záznamů je vhodná access databáze, asi bych radši zvolil MS SQL

nahlásit spamnahlásit spam 0 odpovědětodpovědět

vysledny format na odovzdanie upravenych dat musi byt accdb databaza....

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Otázka je co znamená "pomalé". Při importu takového množství dat nečekejte od Accessu nějaký super výkon.

Třeba by to šlo udělat pomocí mezikroku, kdy si ty data nejdřív nasypete do CSV a to pak naimportujete do Accessu.

Sice to nebude z programátorského hlediska moc "pěkné", ale fungovat by to mělo a teoreticky by to mohlo být i rychlejší, protože import z CSV má v sobě access nativně a tudíž by to mělo být optimalizované.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback