|
![]() | Rozhraní JDBC | ![]() | Rozhraní pro přístup na SQL server | CDK komponenty (Delphi / Kylix) | ![]() |
Datové rozhraní 602.NET je nativní poskytovatel dat (Data Provider) z 602SQL Serveru od verze 9.5 pro komponenty .NET. Lze chápat jako vrstva mezi 602SQL Serverem a třídami ADO.NET. 602SQL.NET provider (dříve se používalo ve stejném významu také označení driver) poskytuje databázovou konektivitu, provádění SQL příkazů, získávání odpovědí na SQL dotazy. Data z 602SQL serveru mohou být přístupna přímo přes manipulační SQL příkazy nebo být přístupná v tzv. DataSetech i v době, kdy 602SQL data provider je odpojen od 602SQL serveru.
V současné verzi je vytvářeno a zkoušeno pouze v prostředí Windows, až bude k dipozici stabilní odpovídající platforma v Linuxu (projekt Mono), bude se podle zájmu uživatelů uvažovat i o provideru pro Linux.
Vývojář seznámený s prostředím a filozofií .NET Frameworku může použít libovolnou dokumentaci k ADO.NET, pouze zamění názvy základních tříd. Je však třeba mít na zřeteli, že většina dokumentace je psána pro použití s Microsoft SQL Serverem (resp. s jinou databází) a zdaleka ne vše půjde použít ve stejné podobě i s 602SQL Serverem.
Data Provider 602.NET se skládá z jedné běhové knihovny SQL602dpXX.dll (kde XX je číslo verze, např. 10 pro verzi 10.0) a dvou pomocných designových knihoven SQL602dpXX.Design.dll a SQL602dpXX.Resources.dll. Umístění knihovny SQL602dpXX.dll je libovolné, doporučujeme Globální cache pro assembly (GAC), knihovnu SQL602dpXX.Design.dll je třeba umístit tak, aby byla k dispozici - nejjednodušší je obě knihovny zkopírovat do adresáře C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\, odkud se spouští MS Visual Studio .NET resp. do nějakého podadresáře, kde se najdou díky tzv. probingu (PublicAssemblies/en/). Knihovny závisí na knihovnách z instalace 602SQL, proto musí být intalační adresář součástí proměnné PATH Windows.
Knihovnu SQL602dpxx.dll lze integrovat do prostředí MS Visual Studia .NET a usnadnit návrh aplikací využívajících 602SQL.NET tím, že základní třídy (SQL602Connection, SQL602DataAdapter a SQL602Command) se přidají do Toolboxu a vkládají se do projektu např. typu Windows Application pouhým přetažením myší.
Spolu s přeloženou aplikací (*.EXE) je třeba šířit i běhovou knihovnu SQL602dpXX.dll. Nejvhodnější umístění je ve stejném adresáři jako *.EXE.
Předpokladem použití 602SQL.NET Data Provideru je import jmenného prostoru Software602.SQL602DataProvider do aplikace. Např. pro jazyk C# se to provede příkazem:
using Software602.SQL602DataProviderPro kompilaci aplikace je třeba kompilátoru sdělit umístění knihovny SQL602dpXX.dll. V prostředí MS Visual Studia .NET se to provádí v okně Solution Explorer pod References, při kompilaci z příkazového řádku pomocí parametru /r (program v C#):
csc /out:pokus.exe /r:C:\602sql\SQL602dp10.dll pokus1.cs
Příklad použití
using System; using System.Data; using Software602.SQL602DataProvider; namespace ConsoleApp1 { class Class602 { private static SQL602Connection conn = new SQL602Connection ("SERVERNAME=win10test; SCHEMANAME=TestDOTNET"); static void Main(string[] args) { try { OpenConnection(); if (conn.Active) { Test_DataReader(); Test_Parameters(); } } catch (SQL602Exception ex) { Console.WriteLine(ex.Message);} finally { conn.Close(); } } private static void OpenConnection () { try { // vyvolat logovací dialog conn.LoginPrompt = true; conn.Open(); if (conn.Active) { Console.WriteLine("Prihlasen k serveru: "+conn.ServerName+" do aplikace: "+conn.SchemaName); Console.WriteLine("Prihlasen jako: "+conn.Who_am_I); } } catch (SQL602Exception ex) { Console.WriteLine(ex.Message); } } private static void Test_DataReader () { SQL602DataReader reader = null; try { SQL602Command prik = new SQL602Command ("SELECT * FROM UserTab",conn); reader = (SQL602DataReader)prik.ExecuteReader(); // vypsat hodnoty sloupce while (reader.Read()) Console.WriteLine(reader["LOGNAME"]); Console.WriteLine(); // vypsat jména sloupců for (int i=0;i<reader.FieldCount;i++) Console.WriteLine (reader.GetName(i)); } catch (SQL602Exception ex) { Console.WriteLine(ex.Message); } finally { if (reader != null) reader.Close(); } } private static void Test_Parameters() { // ukázka příkazu s host parametry, v aplikaci je funkční SQL funkce s touto hlavičkou: // FUNCTION Fce_test(IN inpar INT, OUT outpar CHAR(10), INOUT inoutpar REAL ) RETURNS BOOLEAN; SQL602Command cParHost = new SQL602Command("SET :>res = Fce_test(:<inp,:>outp,:<>inoutp)",conn); // kolekce parametrů se vytvoří automaticky cParHost.Parameters["inp"].Value = 9; cParHost.Parameters["inoutp"].Value = "99"; cParHost.ExecuteNonQuery(); if ((bool)cParHost.Parameters["res"].Value) { Console.WriteLine("parametr OUTP: "+cParHost.Parameters["outp"].Value.ToString()); Console.WriteLine("parametr INOUTP: "+cParHost.Parameters["inoutp"].Value.ToString()); }; // ukázka příkazu s dynamickými parametry SQL602Command cParDyn = new SQL602Command("SET ? = Fce_test(?,?,?)",conn); cParDyn.Parameters[1].Value = 9; cParDyn.Parameters[3].Value = 99; cParDyn.ExecuteNonQuery(); if ((bool)cParDyn.Parameters[0].Value) { Console.WriteLine("parametr OUTP: "+cParDyn.Parameters[2].Value.ToString()); Console.WriteLine("parametr INOUTP: "+cParDyn.Parameters[3].Value.ToString()); }; } } }
Seznam subsekcí:
![]() | Rozhraní JDBC | ![]() | Rozhraní pro přístup na SQL server | CDK komponenty (Delphi / Kylix) | ![]() |