Spouštění externího SQL skriptu s více commandy – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Spouštění externího SQL skriptu s více commandy – .NET – Fórum – Programujte.comSpouštění externího SQL skriptu s více commandy – .NET – Fórum – Programujte.com

 

makajda
~ Anonymní uživatel
1 příspěvek
16. 9. 2009   #1
-
0
-

Zdravím,

ve svém C# kodu potřebuju spustit externí SQL skript, který vytváří NĚKOLIK DB tabulek.

Mám následující kód:

...
using (OracleConnection DBconnection = new OracleConnection(GetConnectionString())
{
OracleCommand command = new OracleCommand(query, DBconnection);
command.Connection.Open();
command.ExecuteNonQuery();
}

- připojení k databázi je v pořádku
- v proměnné query(string) je korektně uložen obsah zmíněného SQL skriptu.

Pokud je v externím SQL skriptu právě jeden CREATE TABLE command, tak vše proběhne v pořádku, ale pokud jich je tam více oddělených pochopitelně středníkem ";", tak mi to v run-timu zařve ORA-00911: invalid character. Vadí mu právě ty středníky.

Nevěděl by někdo jak spouštět SQL skript s více commandy??

Díky

Nahlásit jako SPAM
IP: 81.19.47.–
dannyk0
Věrný člen
17. 9. 2009   #2
-
0
-

Normalne query podporuje vice prikazu za sebou. Kdyz jsem kouknul na netu na tu chybu, tak to je primo oracle chyba a podle toho, co jsem tak narychlo nasel, tak oracle nepodporuje strednik jako znak. Projdi si manual od oraclu a mozna najdes odpoved na to, co potrebujes.

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
rybar730
Newbie
24. 9. 2009   #3
-
0
-

Napadlo me jestli by ti v tomto pripad nepomohla moznost si ten "query" proste rozdelit sam.

Neco ve smyslu...



using (OracleConnection DBconnection = new OracleConnection(GetConnectionString())
{
foreach(string OneQuery in query.Split(';'))
{
OracleCommand command = new OracleCommand(OneQuery, DBconnection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}

Nahlásit jako SPAM
IP: 194.197.79.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 44 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý