Diskuze: Dotaz k převodu staré DB
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
nefunguje operator IN trosku jinak ? neni jen IN zjednoduseni vicero podminek
WHERE ? myslim tim zjednoduseni, ze toto
SELECT * FROM XXX WHERE id = 1 AND id = 2 AND id= 3 se zapise jednoduse jako
SELECT * FROM XXX WHERE id IN (1,2,3) ?
narazil jsem na toto
FROM Table_OLD IN '' ';database=C:\db\db2.mdb;PWD=mypwd'
Bohužel stále to stejné. Chyba Incorrect syntax near the keyword 'FROM'. Pořád někde chyba v definici cesty. Když zkusím dvě tabulky v rámci projektu tak to chodí.
Podle mě to jít takto nemůže, protože DB_OLD.MDB není tabulka, ale
samostatná databáze. Obávám se, že to v jednom dotazu nepůjde.
Nešlo by udělat si dva různé connectionstringy (jeden na DB_OLD.MDB, druhý
na DB_NEW.MDF), přes první "constr" udělat select na tabulku v té staré DB,
výsledek uložit někam do nějaké kolekce a pak přes druhý "constr" uložit
data z kolekce do nové DB?
Nebo nějak vyexportovat data třeba do CSV a pak naimportovat?
Osobně bych to asi řešil tak, že si ve Visual studiu připojím obě databáze, v nové databázi vytvořím stejnou tabulku (jako tu, kterou chci převádět) a data do ní prostě zkopíruji. Pak už je jednoduché v dotazu použít více tabulek ze stejné databáze...
Je zajímavé, že jsem našel na msdn.microsoft návody:
Pro MS ACCESS
SELECT CustomerID
FROM Customers
IN OtherDB.mdb
WHERE CustomerID Like "A*";
a pak jsem danou tabulku z Access vyexportoval do dbf IV
SELECT CustomerID
FROM Customer
IN "C:\DBASE\DATA\SALES" "dBASE IV;"
WHERE CustomerID Like "A*";
Vyzkoušel jsem oboje a nefunguje mi ani jedno. Pořád tam vadí IN nebo FROM.
To jsou originál z webu. Já jsem je samozřejmě modifikoval na mé názvy.
Ještě můžeš zkusit přidat k FROM prefix s názvem databáze:
SELECT ... FROM database_name.table_name ...
Nebude problem napr. vo verzii databaze? Mozno je tam urcita nekompaktibilita.
Formát databáze je tam určený. Zajímavé je, že pouze u Access to není, ale třeba i pro import z Excel se to definuje.
......
FROM Customer
IN "C:\DBASE\DATA\SALES" "dBASE IV;"
.....
Už jsem to vymyslel přes BindingSource. Jeden vzorkuji a druhý se
plní.
Takže děkuji. Stejně to ale nějak musí jít.
Zobrazeno 12 zpráv z 12.