Citect SCADA 7.30 ADO.NET 2013/04 Petr Zima
Původní a nový interface
Nevýhody původní Intersolv knihovny Při náročnějších dotazech může dojít k zasekávání stránky Vyžaduje ODBC datové zdroje (problémy s 32/64bit) Malý výkon oproti nativnímu SQL klientu
Nové ADO.NET rozhraní Úkoly jsou prováděny na novém neblokujícím vláknu Nová a stále vyvíjená technologie, v budoucnu jednoduše rozšiřitelná Celosvětově používaná technologie Lepší zpracování chybových zpráv z DB
Vlastnosti SQL Cicode ve verzi 7.30 Je zachována celá předchozí funkcionalita Připojování/odpojování DB původně: SQLConnect nově: SQLCreate a SQLOpen Connected recordset – SQLExec Disconnected recordset – SQLGetRecordset SQL Call a SQLGetScalar pro „netabulkové“ operace Podpora pro parametrizované dotazy (SQLQueryCreate,…) Podpora SQL Devices
Ukázka kódu
Konfigurace Až na drobné výjimky není potřeba upgrade [SQL]MaxConnections – maximální počet DB připojení v paměti 0 (neomezeno) až n. Výchozí hodnota 10. [SQL]MaxRecordsets – Maximální počet recordsetů v paměti. 0 (neomezeno) až n. Výchozí hodnota 30. Při překročení hodnoty vrací funkce neplatný handle a je vyhlášen HW alarm.
Logování Všechny výjimky nestandardní stavy jsou logovány do Logs\TraceLog.DAT Funkce SQLTraceOn rozšířena o možnost logování pro jednotlivé DB spojení Samostatné kernel stránky pro sledování spojení a recordsetů Rozšířena funkce SQLErrMsg o handle parametr
Omezení, paměťové nároky Nejsou podporovány blob MSSQL typy (varbinary, image, geography, hierachy…) Syntaxe parametrizovaných dotazů je závislá na databázi Disconnected recordsety mohou spotřebovávat velké množství paměti Connected recordsety mohou být pomalé při čtení velkého množství záznamů Heslo do DB je uloženo přímo v Cicode – je doporučeno používat ověřování Windows Při dlouhé neaktivitě mohou být spojení na DB ukončeny ze strany databáze U SQLInfo() nejsou již podporovány typy 3 a 4
Porovnání výkonu (ms průměr) Testovací vzorek: 65 000 řádků, 32 sloupců
Konec