LI ASK SA IT711

background image




Wonderware

FactorySuite

Moduł SQL Access



























Podręcznik Użytkownika



Wonderware Corporation

background image

Wszystkie prawa zastrzeżone. Żaden fragment niniejszej publikacji nie może być
kopiowany, przechowywany w systemie do wyszukiwania informacji, przesyłany za pomocą
jakichkolwiek metod: elektronicznych, mechanicznych, fotokopiowania, nagrywania, lub też
w jakikolwiek inny sposób, bez uprzedniego otrzymania pisemnej zgody Wonderware
Corporation. Nie jest przyjmowana żadna odpowiedzialność prawna za naruszenie praw
autorskich lub patentowych, w związku z korzystaniem z zawartych w niniejszej publikacji
informacji. Dołożono wszelkich starań, aby informacje zawarte w tej publikacji były
kompletne i rzetelne, jednakże ani wydawca ani autor nie przejmują odpowiedzialności za
błędy i omyłkowe pominięcia. Nie jest również przyjmowana jakakolwiek odpowiedzialność
za szkody wynikłe z korzystania z informacji podanych w niniejszym dokumencie.

Podane informacje mogą ulec zmianie bez uprzedzenia, i nie są zobowiązujące dla
Wonderware Corporation. Oprogramowanie opisane w niniejszej dokumentacji jest
dostarczane wraz z licencją, oraz nie ujawnianą publicznie umową. Oprogramowanie może
być wykorzystywane i kopiowane wyłącznie przy zachowaniu zgodności z tymi
dokumentami.

2002 Wonderware Corporation. Wszystkie prawa zastrzeżone.
100 Technology Drive
Irvine, CA 92618
U.S.A
(714) 727-3200
http://www.wonderware.com

Znaki handlowe
Terminy używane w niniejszej książce, co do których było wiadomo, że są znakami
firmowymi lub oznaczeniami usług, zostały odpowiednio wyróżnione. Wonderware
Corporation nie może zaświadczyć o pełnej kompletności tych informacji. Korzystanie
z tych terminów w niniejszej książce nie może być traktowane jako naruszanie praw do tych
znaków handlowych lub oznaczeń usług.

Wonderware jest zastrzeżonym znakiem handlowym Wonderware Corporation.

Wonderware FactorySuite, InTouch, WindowMaker, WindowViewer, SQL Access
Manager, Recipe Manager, SPC Pro, DBDump, DBLoad, HDMerge, HistData, Wonderware
Logger, InControl, InTrack, InBatch, IndustrialSQL, ActiveFactory, SuiteLink i NetDDE są
zastrzeżonymi znakami towarowymi Wonderware Corporation

WYDAWCA:
Astor sp. z o.o. – Autoryzowany Dystrybutor Wonderware
ul. Smoleńsk 29, 31-112 Kraków
tel. (012) 428 63 00, fax (012) 428 63 09

www.astor.com.pl

background image

i

Spis treści




Rozdział 1 - Menedżer języka SQL ............................................... 1-1

Wprowadzenie .................................................................................................................. 1-2
Informacje o Podręczniku użytkownika............................................................................ 1-3
Pomoc techniczna ............................................................................................................. 1-4
Informacje o posiadanej licencji FactorySuite .................................................................. 1-4
Kompatybilność z ODBC ................................................................................................. 1-5

Rozdział 2 - Konfigurowanie i nawiązywanie

połączenia z bazą danych ............................................................. 2-1

Oracle 6............................................................................................................................. 2-2

Konfigurowanie klienta.............................................................................................. 2-2

Oracle 7.2.......................................................................................................................... 2-4

Konfigurowanie klienta.............................................................................................. 2-4
Zapisywanie daty i czasu do pól bazy danych Oracle ................................................ 2-7

Sybase lub Microsoft SQL Server..................................................................................... 2-8

Konfigurowanie klienta.............................................................................................. 2-8
Obsługiwane typy danych .......................................................................................... 2-9

dBase............................................................................................................................... 2-10
Microsoft Access ............................................................................................................ 2-12
Paradox ........................................................................................................................... 2-13
Zestawienie typów w obsługiwanych bazach danych ..................................................... 2-14

Rozdział 3 - Konfigurowanie modułu SQL Access..................... 3-1

Przegląd modułu SQL Access........................................................................................... 3-2

Konfigurowanie Listy powiązań ................................................................................ 3-3

Separatory specjalne ......................................................................................................... 3-6
Konfigurowanie Szablonu tabeli....................................................................................... 3-7
Plik SQL.DEF................................................................................................................. 3-10

background image

ii Spis

treści

Rozdział 4 - Funkcje SQL.............................................................. 4-1

Zestawienie funkcji SQL ...................................................................................................4-2
Parametry funkcji SQL ......................................................................................................4-5
Korzystanie z funkcji SQL w skryptach ............................................................................4-8
Zapytania złożone ..............................................................................................................4-8

Dynamiczne budowanie zapytań.................................................................................4-9
Odczytywanie instrukcji SQL z pliku .........................................................................4-9
Określanie parametrów instrukcji SQL w czasie pracy aplikacji ..............................4-10
Wykonywanie rozbudowanych instrukcji SQL.........................................................4-11
Obsługa procedur zachowanych................................................................................4-12

Rozdział 5 - Usuwanie problemów............................................... 5-1

Funkcje do usuwania problemów.......................................................................................5-2

Komunikaty o błędach ................................................................................................5-2

Kody błędów dla poszczególnych baz danych...................................................................5-4

Załącznik A - Zarezerwowane słowa

kluczowe języka SQL i ODBC.......................................................A-1

Indeks .............................................................................................. I-1

background image

1-1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

R O Z D Z I A Ł 1

Moduł SQL Access

Moduł SQL Access pozwala na korzystanie z tabel baz danych, ich modyfikowanie,
tworzenie i usuwanie. Baza danych przechowuje informacje w tabelach, posiadających
wspólny atrybut lub pole. Dostęp do informacji zgromadzonych w bazie danych zapewnia
język SQL (Structured Query Language).

Spis treści

Wprowadzenie

Informacje o Podręczniku użytkownika

Pomoc techniczna

Informacje o posiadanej licencji FactorySuite

Kompatybilność z ODBC

background image

1-2 Rozdział 1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Wprowadzenie

Moduł SQL Access programu InTouch został specjalnie zaprojektowany w celu zapewnienia
łatwej metody wymiany danych pomiędzy bazami SQL a aplikacjami InTouch. Moduł ten
umożliwia również przesyłanie danych w czasie pracy aplikacji, takich jak status alarmów
czy dane historyczne z programu InTouch do bazy danych SQL. Przykładowo, po
zakończeniu cyklu obróbki, można zapisać szereg zestawów danych, każdy dla innej
aplikacji. W bazie SQL może być zapisanych szereg danych. Moduł SQL Access pozwala na
odczyt tych danych, oraz na ich wyświetlanie w dowolnej aplikacji InTouch.

Moduł dostępu do baz danych składa się z Menadżera SQL Access, oraz z funkcji SQL.
Zadaniem Menadżera SQL Access jest utworzenie i powiązanie kolumn bazy danych ze
zmiennymi zdefiniowanymi na Liście zmiennych programu InTouch. Proces przypisywania
kolumn bazy danych do zmiennych programu InTouch określany jest terminem "wiązanie."
Dzięki powiązaniu zmiennych programu InTouch z kolumnami bazy danych, moduł SQL
Access może bezpośrednio manipulować danymi przechowywanymi w bazie danych. Moduł
SQL Access zapisuje kolumny bazy danych, i ich powiązania, w pliku w formacie.

CSV

, o

nazwie "SQL.DEF." (Plik ten umieszczony jest w kartotece aplikacji InTouch, można go
podglądnąć lub modyfikować za pomocą modułu SQL Access, lub też za pomocą
dowolnego edytora tekstowego, np. Notatnika Windows). Moduł SQL Access tworzy
również szablony tabel, definiujące format i strukturę bazy danych.

Więcej informacji na temat list powiązań i szablonów tabel podano w Rozdziale 3 -

Konfigurowanie modułu SQL Access.

Funkcje SQL można wywoływać z poziomu każdego skryptu. Pozwala to na automatyczne
uruchamianie tych funkcji, w momencie podjęcia odpowiednich działań przez operatora, po
zmianie wartości zmiennej, lub też w przypadku spełnienia określonych warunków.
Przykładowo, w przypadku wygenerowania alarmu, aplikacja może wywołać polecenia
SQLInsert() i SQLUpdate() w celu zapisania danych i statusu alarmu. Funkcje SQL mogą
być wykorzystane do tworzenia nowych tabel, wstawiania nowych rekordów do tabel, edycji
istniejących rekordów tabel, czyszczenia tabel, usuwania tabel, przewijania rekordów, itp.

Moduł SQL Access korzysta z biblioteki Intersolv/Q+E Software's Database Library QELIB
(współpracującej z większością systemów baz danych), zawierającą cały kod, wymagany do
korzystania ze sterowników baz danych kompatybilnych z ODBC. Sterowniki te nie
wchodzą w skład modułu SQL Access pakietu InTouch, musza one być zakupione
oddzielnie (od producentów, np. od firm Intersolv/O+E czy Microsoft Corporation).
Sterowniki ODBC są wymagane, ponieważ pełnią one rolę rzeczywistego "połączenia"
z bazą danych. Przykładowo, jeżeli funkcje SQL mają współpracować z baza danych
Microsoft

Access, należy oddzielnie zakupić, zainstalować i skonfigurować sterowniki

Microsoft

ODBC Desktop Driver Set. W następnym punkcie niniejszego rozdziału podano

ogólne przykłady konfigurowania sterowników.

Uwaga Systemy baz danych nie omawiane w niniejszym Podręczniku użytkownika, nie są
obsługiwane.

background image

Menedżer języka SQL

1-3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Informacje o Podręczniku użytkownika

Niniejsza instrukcja podzielona jest logicznie na szereg rozdziałów, opisujących różne
aspekty korzystania z modułu SQL Access. Ma ona charakter “algorytmiczny”, podaje kroki
do realizacji większości funkcji i zadań.

Przy korzystaniu z instrukcji w formie elektronicznej, odwołania tego typu zawierają

w rzeczywistości “połączenia” do odpowiednich punktów i rozdziałów. W celu
przejścia do tego punktu lub rozdziału, należy kliknąć to połączenie. Po przejściu do
innego punktu lub rozdziału, można skorzystać z polecenia "Wstecz", powodującego
przejście do pierwotnego miejsca.

Znak ten informuje, że dodatkowe informacje znajdują się w innych podręcznikach

FactorySuite.

Znak ten umieszczono obok “Podpowiedzi”, zawierających prostszą lub szybszą metodę

realizacji funkcji lub zadania.

Podręcznik FactorySuite System Administrator's Guide zawiera kompletne informacje na
temat elementów składowych pakietu FactorySuite, wymaganiach systemu, omówienie
zagadnień pracy w sieci, integracji produktów, pomocy technicznej, itp.

W podręczniku użytkownika InTouch omówiono środowisko edycyjne w programie
WindowMaker, oraz dostępne w nim narzędzia, porównać z Rozdziałem 1 tego podręcznika
"Elementy programu WindowMaker". W celu zapoznania się z oknami, obiektami
graficznymi, wizardami, obiektami ActiveX, itp. należy przeczytać Rozdział 2, "Korzystanie
z programu WindowMaker".

Szczegółowe informacje o środowisku do uruchamiania aplikacji (program WindowViewer)
podano w Podręczniku operatora.

Dodatkowo, w podręczniku InTouch - opis funkcji, pól i zmiennych systemowych
zamieszczono wyczerpujący opis języka skryptów, funkcji, zmiennych systemowych, oraz
pól zmiennych, występujących w programie InTouch.

Dla każdego komponentu FactorySuite wchodzącego w skład zakupionego przez

Państwa pakietu oprogramowania, dołączona jest wersja elektroniczna dokumentacji.
Przykładowo, są to: FactorySuite System Administrator's Guide, SPC PRO, Moduł SQL
Access, Menedżer receptur, Industrial SQL Server, InControl, oraz wszystkie 32-
bitowe programy komunikacyjne. w przypadku zakupienia pakietu FactorySuite+,
dostarczana jest również elektroniczna wersja dokumentacji dla komponentów InTrack
oraz InBatch.

Wymagane wiadomości

W niniejszej instrukcji przyjęto następujące założenia o użytkowniku:

• Użytkownik jest zapoznany z systemami operacyjnymi Windows 9x/NT/2000.

• Posiada umiejętność korzystania z myszki, menu Windows, wybierania opcji, oraz

korzystania z Pomocy.

• Posiada doświadczenie w zakresie programowania lub języka makro. W celu

osiągnięcia jak największych korzyści, użytkownik powinien być zapoznany z takimi
zagadnieniami programowania jak zmienne, deklaracje, funkcje i metody.

background image

1-4 Rozdział 1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Pomoc techniczna

Dział Pomocy Technicznej Wonderware oferuje różne metody wsparcia w zakresie
produktów Wonderware jak również ich implementacji.

Przed skontaktowaniem się z Działem Pomocy Technicznej, proszę szukać rozwiązania
problemów, mogących wystąpić w czasie korzystania z systemu InTouch, w podręczniku
Moduł SQL Access. Jeżeli okaże się konieczne skorzystanie z pomocy technicznej, należy
mieć przygotowane następujące informacje:

1. Numer seryjny oprogramowania.

2. Numer wykorzystywanej wersji programu InTouch.

3. Typ i wersję wykorzystywanego sytemu operacyjnego. Przykładowo, Microsoft

Windows NT Wersja 4.0, jednostanowiskowa.

4. Dokładną treść wyświetlanego przez system komunikatu o błędzie.

5. Jakiekolwiek,

mogące być pomocne wydruki z Wonderware Logger, narzędzi

diagnostycznych Microsoft Diagnostic (MSD), czy innych aplikacji diagnostycznych.

6. Szczegółowe informacje na temat podejmowanych prób rozwiązania problemów, oraz

ich wyniki.

7. Szczegółowe informacje odnośnie sposobu odtworzenia zaistniałego problemu.

8. Jeżeli jest dostępna taka informacja, numer przyporządkowany do tego problemu przez

Dział Pomocy Technicznej Wonderware (dotyczy to problemów aktualnie
opracowywanych).

Więcej informacji o Pomocy Technicznej podano w podręczniku FactorySuite System

Administrator's Guide.

Informacje o posiadanej licencji FactorySuite

Informacje na temat posiadanej licencji na system FactorySuite, pokazywane są przez
narzędzie do wyświetlania informacji o licencji, dostępne po wybraniu okna dialogowego
Informacje z menu Pomoc programu InTouch.

W celu wyświetlenia okna dialogowego Informacje, należy wybrać polecenie

Informacje o z menu Pomoc.

Więcej informacji na temat narzędzi do wyświetlania informacji o licencji podano

w podręczniku FactorySuite System Administrator's Guide.

background image

Menedżer języka SQL

1-5

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Kompatybilność z ODBC

Moduł SQL Access jest kompatybilny z ODBC, co oznacza, że może współpracować z
dowolnym systemem baz danych, pod warunkiem, że system ten posiada sterownik ODBC.
Przed rozpoczęciem korzystania ze sterownika ODBC należy go skonfigurować za pomocą
programu Microsoft ODBC Administrator, w celu nawiązania połączenia pomiędzy
aplikacją kompatybilną z ODBC a systemem baz danych.

W celu skonfigurowania sterownika ODBC:

9. Uruchomić program Microsoft ODBC Administrator.

10. Wybrać sterownik lub źródło danych, a następnie kliknąć Add New Name, Set

Default, lub Configure. Okno dialogowe ODBC Driver Setup
Opcja Opis
Data Source Name

Nazwa zdefiniowana przez użytkownika, identyfikująca
źródło danych.

Description

Wprowadzony przez użytkownika opis źródła danych.

Database Directory

Kartoteka w której umieszczone są pliki bazy danych.
Jeżeli nie jest określona żadna kartoteka,
wykorzystywana będzie kartoteka bieżąca.

Wprowadzić pozostałe informacje, wymagane do

skonfigurowania wybranego sterownika.

3. Kliknąć OK.

Sterownik zapisze wartości każdego z pól do pliku

ODBC

.

INI

. Są to domyślne

wartości, wykorzystywane przy łączeniu się ze źródłem danych. Wartości te można
zmodyfikować. W przypadku atrybutów nie obsługiwanych przez pole dialogowe
ODBC Driver Setup, wartości można wprowadzać ręcznie, w odpowiedniej sekcji
źródła danych w pliku

ODBC

.

INI

.

Wymogi do nawiązania połączenia

Łańcuch znaków do połączenia, wykorzystywany przez funkcję SQLConnect() w module
SQL Access wer. 4.x budowany jest zgodnie z konwencją "DRV=database_dll".

Ponieważ wersja 5.6 (i wersje późniejsze" są aplikacjami kompatybilnymi z ODBC, pole
database_dll w łańcuchu znaków "DRV=database_dll" musi być dokładną nazwą źródła
danych, zgodnie z konfiguracją wprowadzoną w programie ODBC Administrator (opisanym
powyżej). Alternatywnie, w miejsce "DRV" można wprowadzić "DSN".

background image

1-6 Rozdział 1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

background image

2-1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

R O Z D Z I A Ł 2

Konfigurowanie i nawiązywanie połączenia
z bazą danych

W niniejszym rozdziale omówiono obsługiwane systemy baz danych. Każdy z systemów baz
danych ma inne wymagania. W niniejszym rozdziale poświęcono oddzielne punkty dla
każdego z systemów baz danych, oraz opisano w nich sposób komunikacji z modułem SQL
Access.

Spis treści

Oracle 6

Oracle 7.2

Sybase lub Microsoft SQL Server

dBase

Microsoft Access

Paradox

Zestawienie typów w obsługiwanych bazach danych

background image

2-2 Rozdział 2

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Oracle 6

W celu nawiązania połączenia z systemem baz danych Oracle 6:

1. Skonfigurować klienta bazy danych Windows.

2. Uruchomić programy SQL*Net TSR i NETINIT.EXE.

3. Nawiązać połączenie z bazą danych Oracle

poprzez wywołanie funkcji SQLConnect()

z poziomu skryptu InTouch.

Więcej informacji na temat funkcji SQLConnect() podano w Rozdziale 4 - Funkcje

SQL.

Konfigurowanie klienta

W celu uzyskania dostępu do bazy danych Oracle, należy zainstalować na lokalnym
komputerze oprogramowanie SQL*Net firmy Oracle. Oprogramowanie to zawiera programy
SQL*Net TSR i NETINIT.EXE. Warunkiem nawiązania komunikacji z serwerem bazy
danych Oracle jest uprzednie uruchomienie programów SQL*Net TSR oraz NETINIT.EXE.

Uruchamianie programów SQL*Net TSR i NETINIT.EXE.

Program rezydentny SQL*Net, przeznaczony do pracy w sieci, musi zostać uruchomiony
z poziomu systemu DOS, przed uruchomieniem Windows. W celu umożliwienia nawiązania
komunikacji z serwerem Oracle, należy uruchomić program NETINIT.EXE. W celu
automatycznego uruchamiania programu NETINIT.EXE, wraz z uruchamianiem systemu
Windows, należy umieścić jego ikonę w grupie Autostart.

Funkcja SQLConnect()

Funkcja SQLConnect() przeznaczona jest do nawiązywania połączenia z bazą danych
Oracle. Łańcuch znaków do połączenia, wykorzystywany w funkcji SQLConnect() musi
mieć następującą składnię:

SQLConnect(ConnectionId,"<atrybut>=<wartość>;<atrybut>=<wartoś

ć>;...");

Poniżej podano atrybuty wykorzystywane przez bazę danych Oracle. Muszą one podawane
być w następującej kolejności:
Atrybut Wartość
DSN
Nazwa

źródła danych (Data Source Name) wprowadzona

w programie Microsoft ODBC Administrator.

DRV

W celu zachowania zgodności z modułem SQL Access, wartość
ta jest wwykorzystywana, jeżeliw łańcuchu znaków do połączenia
nie podano nazwy źródła danych (DSN). QELIB zmienia ten
atrybut na nazwę źródła danych.

UID Nazwa

użytkownika.

PWD Hasło.

background image

Konfigurowanie i nawiązywanie połączenia z bazą danych

2-3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Atrybut Wartość
SRVR

Łańcuch znaków do połączenia SQL*Net określający komputer
serwera i bazę danych, z którą nawiązywane będzie połączenie.

Przykład:

SQLConnect(ConnectionId,"DSN=Oracle_Data;UID=SCOTT;PWD=TIGER;

SRVR=B:MKTG_SRV");
gdzie:

B: określa przedrostek dla komunikacji na poziomie NetBIOS (fragment
łańcucha znaków SRVR=B:MKTG_SRV), lub

T: Przedrostek dla TCP/IP, lub

P: przedrostek dla Named Pipes

MKTG_SRV jest nazwą przypisaną do Serwera baz danych Oracle.

Uwaga Mogą wystąpić problemy przy określaniu wartości atrybutu SRVR. Wymagane
informacje zależą od sterownika SQL*Net. Dalsze informacje można znaleźć
w dokumentacji SQL*Net (lub prawdopodobnie w pliku CONFIG.ORA w linii "remote=".

Obsługiwane typy danych

Moduł SQL Access obsługuje dwa typy danych. Dane typu char są łańcuchami znaków
o zmiennej długości. Do zmiennych InTouch typu tekstowego można przypisywać
wyłącznie dane typu char. Jeżeli długość nie jest określona, przyjmowana jest wartość
domyślna równa jednemu (1) znakowi. W bazie danych Oracle długość pola typu char nie
może przekraczać 255 znaków. Należy pamiętać jednak, że maksymalna długość zmiennych
InTouch typu tekstowego może wynosi 131 znaków. Jeżeli zmienna tekstowa ma większą
długość niż zadeklarowano w polu bazy danych, przed zapisaniem zostanie obcięta.

Dane typu number odpowiadają zmiennym typu całkowitego i rzeczywistego,
wykorzystywanym w pakiecie InTouch. Jeżeli długość nie zostanie określona, wartość
reprezentowana będzie jako wartość zmiennoprzecinkowa, z dokładnością do 38 cyfr. W
przypadku podawania długości, stosowany jest format Szerokość.LiczbaMiejscDziesiętnych.
Wartość Szerokość określa maksymalną liczbę cyfr w kolumnie. Wartość
LiczbaMiejscDziesiętnych określa liczbę cyfr umieszczonych z prawej strony separatora
części dziesiętnych. Ten typ danych nie wymaga podawania długości.

background image

2-4 Rozdział 2

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Oracle 7.2

W celu nawiązania połączenia z systemem baz danych Oracle 7.2:

4. Zainstalować program Oracle Standard Client na stanowisku roboczym.

5. Uruchomić program SQL_Net Easy Configuration w celu zlokalizowania łańcucha

znaków do połączenia SQL dla Aliasu bazy danych.

6. Utworzyć nazwę Źródła danych.

7. Nawiązać połączenie z bazą danych Oracle poprzez wywołanie funkcji SQLConnect()

z poziomu skryptu InTouch.

Więcej informacji na temat funkcji SQLConnect() podano w Rozdziale 4 -

Funkcje SQL

Konfigurowanie klienta

W celu uruchomienia programu do konfigurowania systemu baz danych Oracle 7:

8. W oknie dialogowym Oracle 7 Workgroup Server zaznaczyć Standard Client, po

czym kliknąć OK.

9. Wybrać typ instalacji klienta, Application User Setup, po czym kliknąć OK.

10. W oknie dialogowym Database Connection Setup wprowadzić nazwę komputera

bazowego, na którym zainstalowany jest serwer Oracle 7 Workgroup Server.
Przykładowo: WWServer.

11. Kliknąć OK.

Konfigurowanie SQL_Net

1. Kliknąć przycisk Start umieszczony na Pasku zadań Windows. Wybrać menu

Programy, następnie menu Oracle, i ostatecznie kliknąć SQL_Bet Easy
Configuration
.

2. Domyślnie, alias utworzony dla serwera rozpoczynał się będzie od

wgs_ServerName_orcl. Można jednak zmienić tę nazwę.

Alias bazy danych wykorzystywany jest przez funkcję SQLConnect() programu

InTouch.

3. W celu zmodyfikowania Aliasu bazy danych należy zaznaczyć nazwę serwera,

a następnie kliknąć OK.

4. Kliknąć Modify Database Alias Select Network protocol. Komputer z serwerem bazy

danych Oracle ma nazwę Named Pipe Server. Konfigurowanie SQL_Net jest w tym
momencie zakończone.

Należy upewnić się, czy zapisano Alias bazy danych, w celu jego późniejszego

wykorzystania.

background image

Konfigurowanie i nawiązywanie połączenia z bazą danych

2-5

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Konfigurowanie nazwy źródła danych

W celu zainstalowania sterowników ODBC na stacji klienckiej:

5. Kliknąć przycisk Start umieszczony na Pasku zadań Windows. Wskazać menu

Ustawienia, a następnie kliknąć Panel sterowania. Wyświetlone zostanie okno Panel
sterowania.

6. Podwójnie

kliknąć ikonę ODBC. Wyświetlone zostanie okno dialogowe

Administrator źródeł danych ODBC.

7. Kliknąć zakładkę System DSN:

8. Kliknąć Dodaj... Wyświetlone zostanie okno dialogowe Tworzenie nowego źródła

danych.

9. Zaznaczyć sterownik Oracle & ODBC, a następnie kliknąć Zakończ. Wyświetlone

zostanie okno dialogowe ODBC Oracle Driver Setup.

10. W polu Data Source Name wpisać nazwę serwera bazy danych Oracle.

11. Kliknąć Advanced. W oknie dialogowym ODBC Oracle Advanced Driver Setup

wybrać ustawienia domyślne. Kliknąć Close. Wyświetlone zostanie ponownie okno
dialogowe Administrator źródeł danych ODBC.

12. Kliknąć OK.

Funkcja SQLConnect()

Funkcja SQLConnect() przeznaczona jest do nawiązywania połączenia z bazą danych
Oracle. Łańcuch znaków do połączenia, wykorzystywany w funkcji SQLConnect() musi
mieć następującą składnię:

SQLConnect(ConnectionId,"<atrybut>=<wartość>;<atrybut>=<wartoś

ć>;...");

background image

2-6 Rozdział 2

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Poniżej podano atrybuty wykorzystywane przez bazę danych Oracle. Muszą one podawane
być w następującej kolejności:
Atrybut Wartość
DSN
Nazwa

źródła danych (Data Source Name) skonfigurowana

w programie Microsoft ODBC Administrator.

UID Nazwa

użytkownika.

PWD Hasło.
SRVR

Alias bazy danych SQL_NET.

Przykład:

SQLConnect(ConnectionId,"DSN=Oracle;UID=SCOTT;PWD=TIGER;

SRVR=wsg_wwServer_orcl");

Uwaga Jeżeli domyślna nazwa Aliasu bazy danych wsg_ServerName_orcl została
zmieniona, należy wprowadzić nową nazwę, utworzoną za pomocą programu SQL_NET
Easy Configuration, SRVR=WWServer.

background image

Konfigurowanie i nawiązywanie połączenia z bazą danych

2-7

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Zapisywanie daty i czasu do pól bazy danych Oracle

W celu zarejestrowania daty i czasu w polu danych bazy Oracle, należy odpowiednio
ustawić parametry.

W celu rejestrowania w polu danych bazy Oracle daty i czasu:

1. W Eksploratorze aplikacji, w grupie Moduł SQL Access kliknąć Bind List.

Wyświetlone zostanie okno dialogowe Bind List Configuration:

2. W

polu

Tagname.FieldName wprowadzić zmienną, która ma być wykorzystywana.

3. W

polu

Column Name wpisać funkcję DATE_TIME delim().

Uwaga W polu Column Name przed słowem delim() należy wprowadzić spację.
Przykładowo, DATE_TIME. Należy wpisać spację pomiędzy DATE a TIME.

4. W aplikacji InTouch napisać skrypt, przygotowujący dane wejściowe w oparciu o

bieżący czas i datę. Przykładowo:

DATE_TIME_TAG = "TO_DATE('" + $DateString + "" +

StringMid($TimeString,1,8) + "','mm/dd/yy hh24:mi:ss')";

Zmienna Date_Time_Tag będzie wyświetlana w czasie pracy aplikacji w

następującym formacie:

TO_DATE('08/22/97 23:32:18','mm/dd/yy hh24:mi:ss')


background image

2-8 Rozdział 2

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Sybase lub Microsoft SQL Server

W celu nawiązania komunikacji z serwerem SQL Sysbase lub Microsoft:

1. Skonfigurować klienta bazy danych Windows.

2. Wywołać z poziomu skryptu funkcję SQLConnect() w celu nawiązania łączności

z Serwerem SQL Sysbase

lub Microsoft

.

Więcej informacji na temat funkcji SQLConnect() podano w Rozdziale 4 -

Funkcje SQL

Konfigurowanie klienta

Podłączanie się do bazy danych:

W celu podłączenia się do bazy danych, w kartotece WINDOWS/ SYSTEM muszą być
zainstalowanego następujące biblioteki DLL:

• DBNMP3.DLL
• W3DBLIB.DLL

Uwaga Jeżeli aplikacja w czasie nawiązywania połączenia korzysta z protokołu Winsock
(TCP/IP), nie jest wymagany plik DBNMP3.DLL.

Funkcja SQLConnect()

Funkcja SQLConnect() przeznaczona jest do nawiązywania połączenia z serwerem SQL
Sysbase lub Microsoft. Wywołanie tej funkcji powoduje zalogowanie do serwera bazy
danych, oraz nawiązanie połączenia, co pozwala na korzystanie z innych funkcji SQL.
Łańcuch znaków do połączenia, wykorzystywany w funkcji SQLConnect() musi mieć
następującą składnię:

SQLConnect(ConnectionId,"<atrybut>=<wartość>;<atrybut>=<wartoś

ć>;...");
Poniżej opisano atrybuty wykorzystywane przez Serwery SQL Sysbase i Microsoft. Muszą
one podawane być w następującej kolejności:
Atrybut Wartość
DSN
Nazwa

źródła danych (Data Source Name) wprowadzona w

programie Microsoft ODBC Administrator, lub

DRV

W celu zachowania zgodności z SQL Access w programie
InTouch, wartość ta jest wykorzystywana jeżeli nazwa źródła
danych (DSN) nie została podana w łańcuchu znaków połączenia.
QELIB zmienia ten atrybut na nazwę źródła danych.

UID Identyfikator

użytkownika, rozróżniana jest wielkość liter.

PWD Hasło, rozróżniana jest wielkość liter.
SRVR

Nazwa serwera, na którym znajdują się tablice, które będą
wykorzystywane.

DB

Nazwa bazy danych, która będzie wykorzystywana.

Przykład:

SQLConnect(ConnectionId,"DSN=SQL_Data;UID=OPERATOR;PWD=XYZZ");

background image

Konfigurowanie i nawiązywanie połączenia z bazą danych

2-9

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Obsługiwane typy danych

Moduł SQL Access obsługuje trzy typy danych w bazach danych Sysbase lub Microsoft
SQL Server. Dane typu char są łańcuchami znaków o stałej długości. Do zmiennych
InTouch typu tekstowego można przypisywać wyłącznie dane typu char. Należy określić
długość pola. Maksymalna długość danych typu char nie może przekraczać w bazach danych
Sysbase i Microsoft SQL Server 255 znaków. Należy pamiętać jednak, że maksymalna
długość zmiennych InTouch typu tekstowego może wynosi 131 znaków. Jeżeli zmienna
tekstowa ma większą długość niż zadeklarowano w polu bazy danych, przed zapisaniem
zostanie obcięta.

Typ danych int odpowiada zmiennym InTouch typu całkowitego. Jeżeli nie określono
długości pola, przyjmowana jest domyślna długość, wprowadzona dla bazy danych. Jeżeli
długość jest określana należy podać Szerokość. Szerokość określa maksymalną liczbę cyfr
w kolumnie,

Typ danych float odpowiada zmiennym InTouch typu rzeczywistego. Długość pola dal tego
typu zmiennych jest ustalana przez bazę danych. Ten typ danych nie wymaga podawania
długości.

Uwaga W przypadku korzystania z bazy danych Sysbase, przy określaniu typu danych
(char, int, float) należy pamiętać, że rozróżniana jest wielkość liter, należy wpisywać
wyłącznie małe litery.

Serwery SQL Sysbase i Microsoft dopuszczają dla danego ConnectionID wyłącznie jedną
aktywną instrukcję. W czasie korzystania z funkcji SQLSelect() lub SQLNext() można
przeglądać dane, ale nie można ich wstawiać, usuwać, lub modyfikować. W celu wstawienia
danych, usunięcia lub uaktualnienia, operacja SQLSelect() musi korzystać z innego
parametru ConnectionID niż funkcje SQLInsert(), SQLUpdate(), czy SQLDelete().
Wielkość liter jest również rozróżniana w nazwach Kolumn i Tabel. Nazwa tabeli musi być
podana wraz z nazwą bazy danych, do której ta tabela należy. Przykładowo, dbo.MyTable).

background image

2-10 Rozdział 2

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

dBase

W celu nawiązania połączenia z dBase

, należy wywołać z poziomu skryptu funkcję

SQLConnect().

Funkcja SQLConnect()

Funkcja SQLConnect() przeznaczona jest do nawiązywania połączenia z bazą danych
dBase. Wywołanie tej funkcji powoduje zalogowanie do serwera bazy danych, oraz
nawiązanie połączenia, co pozwala na korzystanie z innych funkcji SQL. Łańcuch znaków
do połączenia, wykorzystywany w funkcji SQLConnect() musi mieć następującą składnię:

SQLConnect(ConnectionId,"<atrybut>=<wartość>;<atrybut>=<wartoś

ć>;...");

Poniżej podano atrybuty wykorzystywane przez bazę danych dBase. Są one wymienione
w kolejności, w jakiej należy je podawać:
Atrybut Wartość
DSN
Nazwa

źródła danych (Data Source Name) wprowadzona

w programie Microsoft ODBC Administrator, lub

DRV

W celu zachowania zgodności z SQL Access w programie
InTouch, wartość ta jest wykorzystywana jeżeli nazwa źródła
danych (DSN) nie została podana w łańcuchu znaków połączenia.
QELIB zmienia ten atrybut na nazwę źródła danych.

CS Parametr

określający, czy tablica znaków ma być pamiętany jako

tablica znaków IBM PC, czy też jako ANSI. Domyślną wartością
jest IBMPC.

DB

Kartoteka, w której przechowywane są pliki dBase. Jeżeli nie jest
określona żadna kartoteka, wykorzystywana będzie bieżąca
kartoteka robocza.

FOC

Maksymalna liczba otwartych, niewykorzystywanych plików.
Domyślnie przyjmowana jest wartość 0. Sterownik dBase posiada
mechanizm pozostawiający niewykorzystywane pliki otwarte, co
umożliwia zwiększenie prędkości pracy. Jeżeli parametr FOC ma
wartość większą od 0, otwarte pozostają ostatnio wykorzystywane
pliki. Jeżeli podjęta zostanie próba ekskluzywnego otwarcia
jednego z tych plików przez inną aplikację, wyświetlony zostanie
komunikat o błędzie, informujący, że pliki te są już
wykorzystywane przez inną aplikację.

LCK

Poziom blokowania rekordów w pliku bazy danych.
Dopuszczalnymi wartościami są FILE, REKORD (ustawienie
domyślne), lub NONE (przykładowo, LCK=NONE).

CSZ

Liczba bloków 64 K, wykorzystywanych przez sterownik do
buforowania rekordów bazy danych. Im większa jest ta liczba,
tym większa jest szybkość pracy. Domyślnie przyjmowana jest
wartość 4. Maksymalna liczba bloków, którą można wprowadzić,
ograniczona jest przez pamięć dostępną w systemie.

W czasie przeglądania danych w tył, zmiany wprowadzone przez
innych użytkowników nie będą widoczne, aż do momentu
wywołania instrukcji SQLSelect().

USF

Parametr ren określa, kiedy sterownik uaktualnia pliki
w kartotece DOS. Jeżeli ustawiona zostanie wartość 1, sterownik
uaktualnia pliki w kartotece przy każdej instrukcji COMMIT.
Zmniejsza to prędkość pracy. Domyślnie, przyjmowana jest
wartość 0. Oznacza ona, że sterownik uaktualnia pliki czasie
zamykania. Wtedy jednak, w przypadku "zawieszenia się"
systemu przed zamknięciem pliku, nowo wstawione rekordy
zostają utracone.

background image

Konfigurowanie i nawiązywanie połączenia z bazą danych

2-11

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Atrybut Wartość
MS

Atrybut ten ma za zadanie zapewnienie kompatybilności
z poprzednimi wersjami oprogramowania O+E. Jeżeli sterownik
ma obsługiwać instrukcje SQL wykorzystywane we
wcześniejszych wersjach sterowników oprogramowania Q+E,
należy wpisać MS=0. Domyślnie przyjmowana jest wartość 1.

LCOMP

Parametr ten określa, czy ma być stosowane blokowanie
kompatybilne z dBase, czy też z Q+E. Jeżeli blokowanie ma być
kompatybilne z dBase, wpisać LCOMP=DBASE, jeżeli natomiast
blokowanie ma być kompatybilne z Q+E, wpisać LCOMP=Q+E.
Domyślnie, przyjmowana jest wartość dBASE.

Blokowanie kompatybilne z Q+E może być stosowane w celu
zapewnienia zgodności z wcześniejszymi wersjami
oprogramowania Q+E.

COMP

Atrybut ten ma za zadanie zapewnienie kompatybilności
z poprzednimi wersjami oprogramowania O+E. W celu
zapewnienia zgodności z wcześniejszymi wersjami, wpisać
COMP=DBASE, natomiast w celu zapewnienia przenaszalności
wpisać COMP=ANSI. Domyślną wartością jest ANSI.

Przykład:

SQLConnect(ConnectionId,"DSN=DBASE_FILES;CS=ANSI;DB=C:\ODBC\EM

P;

LCK=NONE");

Obsługiwane typy danych

Moduł SQL Access obsługuje w przypadku bazy danych dBase trzy typy danych. Dane typu
char są łańcuchami znaków o stałej długości. Do zmiennych InTouch typu tekstowego
można przypisywać wyłącznie dane typu char. Należy określić długość. W bazie danych
dBASE długość pola typu char nie może przekraczać 254 znaków. Należy pamiętać jednak,
że maksymalna długość zmiennych InTouch typu tekstowego może wynosi 131 znaków.
Jeżeli zmienna tekstowa ma większą długość niż zadeklarowano w polu bazy danych, przed
zapisaniem zostanie obcięta.

Dane typu number i float reprezentują odpowiednio zmienne InTouch typu całkowitego
i rzeczywistego. Należy określić długość. Musi ona zostać podana w formacie
Szerokość.CzęściDziesiętne. Wartość Szerokość określa maksymalną liczbę cyfr
w kolumnie, Wartość CzęściDziesiętne określa liczbę cyfr umieszczonych z prawej strony
znaku części dziesiętnej. Baz danych dBase może przechowywać zmienne analogowe
z dokładnością do 19 cyfr.

background image

2-12 Rozdział 2

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Microsoft Access

W celu nawiązania połączenia z Microsoft Access, należy wywołać z poziomu skryptu
funkcję SQLConnect().

Funkcja SQLConnect()

Funkcja SQLConnect() przeznaczona jest do nawiązywania połączenia z bazą danych
Microsoft Access. Wywołanie tej funkcji powoduje zalogowanie do serwera bazy danych,
oraz nawiązanie połączenia, co pozwala na korzystanie z innych funkcji SQL. Łańcuch
znaków do połączenia, wykorzystywany w funkcji SQLConnect() musi mieć następującą
składnię:

SQLConnect(ConnectionId,"<atrybut>=<wartość>;<atrybut>=<wartoś

ć>;...");

Poniżej podano atrybuty wykorzystywane przez bazę danych Microsoft Access. Są one
wymienione w kolejności, w jakiej należy je podawać:
Atrybut Wartość
DSN
Nazwa

źródła danych (Data Source Name) wprowadzona

w programie Microsoft ODBC Administrator, lub

DRV

W celu zachowania zgodności z SQL Access w programie
InTouch, wartość ta jest wykorzystywana jeżeli nazwa źródła
danych (DSN) nie została podana w łańcuchu znaków połączenia.
QELIB zmienia ten atrybut na nazwę źródła danych.

Przykład:

SQLConnect(ConnectionId,"DSN=MSACC");

Obsługiwane typy danych

Moduł SQL Access obsługuje pięć typów danych w przypadku korzystania z bazy danych
Microsoft Access. Ilość dopuszczalnych typów danych zależy od wersji wykorzystywanego
sterownika ODBC. Dane typu text to łańcuchy znaków o stałej długości, są one
wykorzystywane w przypadku zmiennych InTouch typu tekstowego. Należy określić
długość. W bazie danych Microsoft Access długość pola typu text nie może przekraczać 255
znaków. Należy pamiętać jednak, że maksymalna długość zmiennych InTouch typu
tekstowego może wynosi 131 znaków. Jeżeli zmienna tekstowa ma większą długość niż
zadeklarowano w polu bazy danych, przed zapisaniem zostanie obcięta. Sterownik Microsoft
Access ODBC obsługuje nazwy kolumn o długości do 17 znaków. W przypadku korzystania
z instrukcji SQLSetStatement( Select Col1, Col2,,.. ), maksymalna liczba obsługiwanych
kolumn wynosi 40.

W przypadku programów korzystających ze sterownika Microsoft Access, zmienne InTouch
typu całkowitego mogą korzystać z typów short i long, a zmienne InTouch typu
rzeczywistego z liczb z modyfikatorem Double lub Single. Długość jest obliczana
automatycznie, w zależności od typu danych i nie należy jej podawać w czasie definiowania
Szablonu tabeli.

background image

Konfigurowanie i nawiązywanie połączenia z bazą danych

2-13

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Paradox

W celu nawiązania połączenia z bazą danych Paradox

, należy wywołać z poziomu skryptu

funkcję SQLConnect().

Funkcja SQLConnect()

Funkcja SQLConnect() przeznaczona jest do nawiązywania połączenia z bazą danych
Paradox. Wywołanie tej funkcji powoduje zalogowanie do serwera bazy danych, oraz
nawiązanie połączenia, co pozwala na korzystanie z innych funkcji SQL. Łańcuch znaków
do połączenia, wykorzystywany w funkcji SQLConnect() musi mieć następującą składnię:

SQLConnect(ConnectionId,"<atrybut>=<wartość>;<atrybut>=<wartość>;...");

Poniżej podano atrybuty wykorzystywane przez bazę danych Paradox. Są one wymienione
w kolejności, w jakiej należy je podawać:
Atrybut Wartość
DSN
Nazwa

źródła danych (Data Source Name) skonfigurowana

w programie Microsoft ODBC Administrator, lub

DRV

W celu zachowania zgodności z SQL Access w programie
InTouch, wartość ta jest wykorzystywana jeżeli nazwa źródła
danych (DSN) nie została podana w łańcuchu znaków połączenia.
QELIB zmienia ten atrybut na nazwę źródła danych.

Przykład:

SQLConnect(ConnectionId,"DSN=PARADOX_FILE");

Obsługiwane typy danych

Moduł SQL Access obsługuje w przypadku bazy danych Paradox trzy typy danych. Dane
typu alphanumeric to łańcuchy znaków o stałej długości, są one wykorzystywane ze
zmiennymi InTouch typu tekstowego. Należy określić długość pola. W bazie danych
Paradox długość pola typu alphanumeric nie może przekraczać 255 znaków. Należy
pamiętać jednak, że maksymalna długość zmiennych tekstowych programu InTouch może
wynosi 131 znaków. Jeżeli zmienna tekstowa ma większą długość niż zadeklarowano w polu
bazy danych, przed zapisaniem zostanie obcięta.

Zmienne InTouch typu całkowitego, rzeczywistego i dyskretnego mogą korzystać z typu
number, a zmienne InTouch typu całkowitego i dyskretnego z typu short (wartości
z przedziału -32 767 do 32 767). Nie należy podawać długości pola.

background image

2-14 Rozdział 2

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Zestawienie typów w obsługiwanych bazach
danych

Oracle

Typ danych

Długość Domyślnie

Zakres

Typ zmiennej

char

255 znaków

1 znak

Message

number

38 cyfr

38 cyfr

Integer

Sybase lub Microsoft SQL Server

Typ danych

Długość Domyślnie

Zakres

Typ zmiennej

char 255

znaków

Message

int

-
2,147,483,647
do

Integer

2,147,483,647

float 15

cyfr

1.7E

-294

do

1.7E

+308

Real

dBASE

Typ danych

Długość Domyślnie

Zakres

Typ zmiennej

char 254

znaków

Message

numeric lub

19 cyfr

Integer lub Real

float

Microsoft Access

Typ danych

Długość Domyślnie

Zakres

Typ zmiennej

text 254

znaków

Message

number

Integer

number

Real

Paradox

Typ danych

Długość Domyślnie

Zakres

Typ zmiennej

alphanumeric
number

255 znaków

Message Integer,
Real, lub Discrete

short -32,767

do

32,767

Integer lub
Discrete

background image

3-1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

R O Z D Z I A Ł 3

Konfigurowanie modułu SQL Access

Programy narzędziowe modułu SQL Access umożliwiają tworzenie list powiązań
i szablonów tabel. Lista powiązań kojarzy kolumny bazy danych ze zmiennymi programu
InTouch. Szablon tabeli umożliwia zdefiniowanie struktury i formatu nowej tabeli w bazie
danych.

Spis treści

Przegląd modułu SQL Access

Separatory specjalne

Konfigurowanie szablonu tabeli

Plik SQL.DEF

background image

3-2 Rozdział 3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Przegląd modułu SQL Access

W momencie wywołania przez aplikację instrukcji SQLCreateTable(), argument Table
Template wykorzystywany jest do zdefiniowania struktury nowego pliku bazy danych.

Przy korzystaniu z funkcji SQLInsert(), SQLSelect(), i SQLUpdate(), argument Lista
powiązań określa przypisanie zmiennych InTouch do kolumn bazy danych.

background image

Konfigurowanie

Menadżera języka SQL

3-3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Konfigurowanie Listy powiązań

Lista powiązań kojarzy kolumny bazy danych ze zmiennymi programu InTouch.

W celu utworzenia nowej listy powiązań:

1. Z

menu

Specjalne wybrać SQL Access Manager, a następnie kliknąć Bind List..., lub

rozwinąć grupę SQL Access Manager w Eksploratorze aplikacji, a następnie
podwójnie kliknąć Bind List.

Jeżeli polecenie to wywołane zostało po raz pierwszy, wyświetlone zostanie okno

dialogowe Select a Bind List:

1. Kliknąć New.

2. Wyświetlone zostanie okno dialogowe Bind List Configuration:

Po kliknięciu prawym przyciskiem myszy w DOWOLNYM polu tekstowym,

wyświetlone zostanie menu z poleceniami, które można zastosować do
zaznaczonego tekstu.

1. W

polu

Bind List Name wpisać nazwę Listy powiązań.

Długość nazwy listy powiązań nie może przekraczać 32 znaków. Nowa lista

powiązań umożliwi przypisanie kolumn bazy danych do zmiennych InTouch.
Przykładowo, jeżeli tworzona jest lista demograficzna pracowników, należy wpisać
w tym polu nazwę listy powiązań, związaną z informacjami o pracownikach.

background image

3-4 Rozdział 3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Uwaga Lista powiązań jest parametrem wywołania funkcji SQLInsert(), SQLSelect(),
i SQLUpdate(). Dodatkowo, przy korzystaniu z funkcji SQLExecute() istotna jest
kolejność zmiennych, ponieważ funkcja SQLExecute() zapisuje zmienne w
wyszczególnionej kolejności.

5. W

polu

Tagname.FieldName wpisać zmienną i jej pole.

Lista zmiennych powiąże dane pole zmiennej z nazwa kolumny w bazie danych.

Jeżeli zmienna nie jest jeszcze zdefiniowana na Liście zmiennych, należy ją
podwójnie kliknąć w celu wywołania okna dialogowego Tagname Dictionary
i zdefiniować ją.

6. Kliknąć Tagname w celu wybrania jednej z zdefiniowanych wcześniej zmiennych.

Wyświetlona zostanie Przeglądarka zmiennych.

Pokazane zostaną wszystkie zmienne dla wybranego źródła zmiennych. W celu

wybrania zmiennej podwójnie ją kliknąć, lub zaznaczyć ją, a następnie kliknąć
OK. W celu wybrania pola zmiennej, kliknąć strzałkę Dot Field zaznaczyć jedno
z pól, a następnie kliknąć OK.

Więcej informacji na temat Przeglądarki zmiennych podano w podręczniku

InTouch.

7. Kliknąć FieldName w celu wybrania pola zmiennej. Wyświetlone zostanie okno

dialogowe Choose field name.

8. Zaznaczyć pole, które ma być wstawione. Okno dialogowe zostanie zamknięte,

a wybrane pole automatycznie wstawione do pola Tagname.FieldName.

Więcej informacji na temat pól zmiennych podano w Rozdziale 4 podręcznika

InTouch.

9. W

polu

Column Name wpisać nazwę kolumny.

Długość nazwy kolumny nie może przekraczać 30 znaków. Nazwa kolumny jest

bezpośrednio wiązana z nazwą kolumny w bazie danych. Jeżeli w nazwie kolumny
występują spacje, w czasie wprowadzania tej nazwy w oknie dialogowym lub w
skrypcie należy ją ująć w nawiasy kwadratowe. Przykładowo:

WHERE EXPR= "[Pipe Flow} = " text (tagname,"#");

W celu powiązania nazwy kolumny z bazą danych można skorzystać z
specjalnych separatorów.

Więcej informacji na ten temat podano w punkcie "Separatory specjalne".

10. Kliknąć Move Up w celu przesunięcia na liście wybranej zmiennej o jeden poziom

wyżej.

11. Kliknąć Move Down w celu przesunięcia na liście wybranej zmiennej o jeden poziom

niżej.

12. Kliknąć Add Item w celu dodania pól Tagname.FieldName i Column Name do Listy

powiązań.

13. Kliknąć Delete Item w celu usunięcia zaznaczonych pól Tagname.FieldName

i Column Name z Listy powiązań.

14. Kliknąć Modify Item w celu zmienienia na Liście powiązań zaznaczonych pól

Tagname.FieldName i Column Name .

15. Kliknąć OK w celi zapisania Listy powiązań i zamknięcia okna dialogowego.

Kliknięcie Save powoduje zapisanie wprowadzonych zmian, bez zamykania okna

dialogowego.

background image

Konfigurowanie

Menadżera języka SQL

3-5

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

W celu wprowadzenia zmian na liście powiązań:

16. Z menu Specjalme wybrać SQL Access Manager, a następnie kliknąć Bind List, lub

rozwinąć grupę SQL Access Manager w Eksploratorze aplikacji, a następnie
podwójnie kliknąć Bind List.

17. Wyświetlone zostanie okno dialogowe Select a Bind List:

18. Zaznaczyć nazwę listy powiązań, a następnie kliknąć Modify. Wyświetlone zostanie

okno dialogowe Bind List Configuration:

19. Wprowadzić żądane zmiany.

20. Kliknąć OK w celu zapisania zmian i zamknięcia okna dialogowego.

Więcej informacji na temat konfigurowania listy powiązań podano w punkcie

"W celu utworzenia Listy powiązań".

W celu usunięcia listy powiązań:

1. Z

menu

Special wybrać SQL Access Manager, a następnie kliknąć Bind List, lub

rozwinąć grupę SQL Access Manager w Eksploratorze aplikacji, a następnie
podwójnie kliknąć Bind List.

2. Wyświetlone zostanie okno dialogowe Select a Bind List:

3. Zaznaczyć nazwę listy powiązań, która ma być usunięta.

4. Kliknąć Delete. Wyświetlone zostanie okno dialogowe żądające potwierdzenia zamiaru

wykonania tej czynności. Kliknąć Yes w celu usunięcia zaznaczonej listy powiązań, lub
kliknąć No w celu anulowania tej operacji. Wyświetlone zostanie ponownie okno
dialogowe Bind List Configuration:

5. Kliknąć OK w celu zamknięcia okna dialogowego.

background image

3-6 Rozdział 3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Separatory specjalne

Funkcje SQLInsert() i SQLUpdate() korzystają z domyślnego formatu, w którym łańcuchy
znaków ujęte są w apostrofy. Niektóre bazy danych SQL wymagają, aby łańcuchy znaków
były ujęte w inne separatory. Przykładowo, w bazie danych Oracle, łańcuch znaków musi
być podawany w nawiasach. Jeżeli występuje taka potrzeba, należy skorzystać
w następujący sposób z funkcji Delim():

W oknie dialogowym Bind List Configuration, w polu Column Name, wpisać za nazwą
kolumny słowo kluczowe "delim" (nie jest rozróżniana wielkość liter). Po słowie
kluczowym "delim" należy wpisać:

• lewy nawias

• lewy separator

• przecinek

• prawy separator

• prawy nawias

Przykład: datestring delim (‘,‘)

Jeżeli z lewej i z prawej strony stosowany jest ten sam separator, wystarczy go podać
w nawisach, bez przecinka.

Przykład: datestring delim (‘ ‘)

W podanym poniżej przykładzie, z lewej strony jest inny separator niż z prawej strony.
Zwrócić uwagę na miejsce wpisania date delim (‘,’) w polu Column Name.

Więcej informacji na temat rejestrowania daty i czasu do pól bazy danych Oracle

podano w Rozdziale 2 - Zapisywanie daty i czasu do pól bazy danych Oracle.

background image

Konfigurowanie

Menadżera języka SQL

3-7

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Konfigurowanie Szablonu tabeli

Szablon tabeli umożliwia zdefiniowanie struktury i formatu nowej tabeli w bazie danych.

W celu utworzenia nowego Szablonu tabeli:

1. Z

menu

Specjalne wybrać SQL Access Manager, a następnie kliknąć Table

Template, lub rozwinąć grupę SQL Access Manager w Eksploratorze aplikacji, a
następnie podwójnie kliknąć Table Template.

Jeżeli polecenie to wywołane zostało po raz pierwszy, wyświetlone zostanie okno

dialogowe Select a Table Template:

1. Kliknąć New.

2. Wyświetlone zostanie okno dialogowe Table Template Configuration:

Po kliknięciu prawym przyciskiem myszy w DOWOLNYM polu tekstowym,

wyświetlone zostanie menu z poleceniami, które można zastosować do
zaznaczonego tekstu.

1. W

polu

Table Template Name wpisać nazwę szablonu tabeli.

Długość nazwy szablonu tabeli nie może przekraczać 32 znaków. Nazwa szablonu

tabeli jest wykorzystywana do identyfikacji struktury w bazie danych, w czasie
korzystania z funkcji SQLCreateTable().

background image

3-8 Rozdział 3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

2. W

polu

Column Name wpisać nazwę szablonu tabeli.

Długość nazwy kolumny nie może przekraczać 30 znaków.

3. W

polu

Column Type wpisać typ danych przechowywanych w kolumnie.

Należy wpisać jeden z typów danych, dopuszczalnych przez bazę, z którą będzie

nawiązywane połączenie.

Więcej informacji na temat typów danych dostępnych w poszczególnych bazach

podano w Rozdziale 2 - Obsługiwane typy danych.

4. Zaznaczyć pole w grupie Index Type, zgodnie z podanym poniżej opisem.

Unique

Wartości w kolumnie nie mogą się powtarzać.

Non-Unique

Wartości w kolumnie mogą się powtarzać.

None

Bez indeksu

Po wywołaniu funkcji SQLCreateTable() tworzony jest automatycznie plik

z indeksowaniem.

8. Zaznaczyć opcję Allow Null entry jeżeli w tej kolumnie ma być dopuszczona

możliwość nie wpisywania wartości.

W programie InTouch zmienne musza mieć zawsze przypisaną wartość. Jeżeli do

zmiennej przypisane zostanie pole bez wartość, zmienna będzie równa:

Dla zmiennych typu dyskretnego

0

Dla zmiennych typu całkowitego 0
Dla zmiennych typu tekstowego

Pusty łańcuch znaków.

W momencie przypisywania do zmiennej pola bazy danych bez wartości, wartość

zmiennej zostanie wyznaczona zgodnie z powyższym zestawieniem.

9. Kliknąć Add Item w celu dodania wartości wprowadzonych w polach Column Name,

Column type, Length i Index Type do szablonu tabeli.

10. Kliknąć Delete Item w celu usunięcia wartości wprowadzonych w polach Column

Name, Column Type, Length i Index Type z szablonu tabeli.

11. Kliknąć Modify Item w celu zmodyfikowania w szablonie tabeli wartości

wprowadzonych w polach Column Name, Column Type, Length i Index Type.

12. Kliknąć OK w celi zapisania szablonu tabeli i zamknięcia okna dialogowego.

Kliknięcie Save powoduje zapisanie wprowadzonych zmian, bez zamykania okna

dialogowego.

background image

Konfigurowanie

Menadżera języka SQL

3-9

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

W celu zmodyfikowania szablonu tabeli:

13. Z menu Specjalne wybrać SQL Access Manager, a następnie kliknąć Table

Template, lub rozwinąć grupę SQL Access Manager w Eksploratorze aplikacji, a
następnie podwójnie kliknąć Table Template.

14. Wyświetlone zostanie okno dialogowe Select a Table Template:

15. Zaznaczyć nazwę szablonu tabeli, a następnie kliknąć Modify. Wyświetlone zostanie

okno dialogowe Table Template Configuration:

16. Wprowadzić żądane zmiany.

17. Kliknąć OK w celu zapisania zmian i zamknięcia okna dialogowego.

Więcej informacji na temat konfigurowania szablonu tabeli podano w punkcie

"W celu utworzenia nowego szablonu tabeli".

W celu usunięcia szablonu tabeli:

1. Z

menu

Special wybrać SQL Access Manager, a następnie kliknąć Table Template,

lub rozwinąć grupę SQL Access Manager w Eksploratorze aplikacji, a następnie
podwójnie kliknąć Table Template.

2. Wyświetlone zostanie okno dialogowe Select a Table Template:

3. Zaznaczyć nazwę szablonu tabeli, który ma być usunięty.

4. Kliknąć Delete. Wyświetlone zostanie okno dialogowe żądające potwierdzenia zamiaru

wykonania tej czynności. Kliknąć Yes w celu usunięcia zaznaczonego Szablonu tabeli,
lub kliknąć No w celu anulowania tej operacji. Wyświetlone zostanie ponownie okno
dialogowe Table Template Configuration:

5. Kliknąć OK w celu zamknięcia okna dialogowego.

background image

3-10 Rozdział 3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Plik SQL.DEF

Moduł SQL Access zapisuje listy powiązań i szablony tabel w pliku "SQL.DEF". Jest to plik
w formacie .

CSV

. Plik SQL.DEF można podglądnąć lub modyfikować za pomocą modułu

SQL Access, lub też za pomocą dowolnego edytora tekstowego, np. Notatnika Windows.
Dane w pliku zapisywane są w następujący sposób:

:NazwaListyPowiązań,NazwaListyPowiązań
Zmienna1.PolezZmiennej,NazwaKolumny1
Zmienna2.PoleZmiennej,NazwaKolumny2
Zmienna3.PoleZmiennej,NazwaKolumny3

:NazwaSzablonuTabeli,NazwaSzablonuTabeli
NazwaKolumny1,TypKolumny,[DługośćKolumny],Null,Index
NazwaKolumny2,TypKolumny,[DługośćKolumny],Null,Index
NazwaKolumny3,TypKolumny,[DługośćKolumny],Null,Index

background image

4-1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

R O Z D Z I A Ł 4

Funkcje SQL

Program InTouch korzysta z funkcji SQL do wymiany informacji z baza danych. Funkcje te
mogą być wykorzystywane, podobnie jak standardowe funkcje InTouch, w dowolnym
skrypcie. Pozwalają one na zaznaczanie, modyfikowanie, wstawianie i usuwanie rekordów
z wybranej tabeli.

Spis treści

Zestawienie funkcji SQL

Parametry funkcji SQL

Korzystanie z funkcji SQL w skryptach

Zapytania złożone

background image

4-2 Rozdział 4

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Zestawienie funkcji SQL

W punkcie tym zestawiono wszystkie funkcje SQL. Należy pamiętać, że funkcje SQL są
synchroniczne. Program InTouch powraca do realizacji innych czynności, dopiero po
zakończeniu działania wywołanej wcześniej funkcji SQL (przerywane jest w tym czasie
tworzenie trendów, itp.)

Wszystkie funkcje SQL (za wyjątkiem SQLNumRows()) zwracają parametr ResultCode.
Jeżeli zwrócona wartość parametru ResultCode jest różna od 0, sygnalizuje to niepomyślne
wykonanie funkcji, w związku z czym należy podjąć dodatkowe działania. Parametr
ResultCode może być wykorzystany przez funkcję SQLErrorMsg().

Ogólna składania funkcji SQL jest następująca:

SQLFunction(Parametr1, Parametr2,...)

Szczegółowe informacje na temat każdej z funkcji SQL, oraz przykłady ich

wykorzystania podano w podręczniku InTouch - Opis funkcji, pól i zmiennych
systemowych
.

Funkcja Opis
SQLAppendStatement
Dalsza

część instrukcji SQL zawarta w zmiennej

tekstowej.

SQLClearParam

Funkcja ta powoduje usunięcie wartości danego
parametru.

SQLClearStatement

Funkcja ta zwalnia zasoby związane z instrukcją
określoną przez SQLHandle.

SQLClearTable

Funkcja ta usuwa wszystkie rekordy z tablicy w bazie
danych, ale nie usuwa samej tablicy.

SQLCommit Funkcja

SQLCommit() definiuje koniec grupy zestawu

transakcji.

SQLConnect

Funkcja ta nawiązuje połączenie programu InTouch z
bazą danych wyszczególnioną jako parametr funkcji.

SQLCreateTable

Funkcja ta tworzy tablicę w bazie danych przy
wykorzystaniu parametrów z szablonu tabeli (Table
Template) o określonej nazwie.

SQLDelete

Funkcja ta usuwa rekord lub kilka rekordów.

SQLDisconnect

Funkcja ta służy do odłączenia użytkownika od bazy
danych.

SQLDropTable

Funkcja ta usuwa tablicę z bazy danych.

SQLEnd

Funkcja ta jest wykorzystywana po funkcji SQLSelect()
w celu zwolnienia zasobów, które były użyte do
zapamiętania tablicy wynikowej (Results Table).

SQLErrorMsg

Odczytuje tekst komunikatu o błędzie związanego
z zadanym kodem błędu ResultCode. ErrorMsg jest
zmienną typu Memory Message (maksymalnie 131
znaków), powiązaną z parametrem ResultCode.

SQLExecute

Funkcja ta wykonuje instrukcję SQL. Jeśli instrukcja
służy do wyboru danych z bazy, parametr BindList
określa nazwę listy powiązań między kolumnami bazy
danych a zmiennymi programu InTouch. Jeśli lista
powiązań jest PUSTA, żadne zmienne nie zostaną
powiązane z kolumnami w bazie danych.

SQLFirst

Funkcja ta wybiera pierwszy rekord z tablicy wynikowej
(Results Table) utworzonej przez ostatnio wywoływaną
funkcję SQLSelect().

SQLGetRecord

Funkcja ta odczytuje z bufora rekord określony przez
parametr RecordNumber.

background image

Funkcje SQL

4-3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Funkcja Opis
SQLInsert

Funkcja ta wstawia nowy rekord do tablicy o podanej
nazwie, wykorzystując wartości zmiennych z podanej
listy powiązań. Parametr BindList definiuje
wykorzystywane zmienne programu InTouch, oraz
powiązania pomiędzy nimi, a kolumnami bazy danych.

SQLInsertEnd Przerwanie

instrukcji.

SQLInsertExecute

Funkcja ta wykonuje przygotowaną instrukcję
wstawiania rekordów do tablicy.

SQLInsertPrepare

Funkcja ta przygotowuje instrukcję wstawiania
rekordów do tablicy.

SQLLast

Funkcja ta wybiera ostatni rekord z tablicy wynikowej
(Results Table) utworzonej poprzez wykonanie ostatniej
funkcji SQLSelect().

SQLLoadStatement

Funkcja ta odczytuje instrukcję zapisaną w pliku
FileName. W tym momencie funkcja ta wykazuje
podobieństwo do instrukcji utworzonej za pomocą
funkcji SQLSetStatement(), oraz może być dołączana
za pomocą funkcji SQLAppendStatement(), lub
wykonywana za pomocą funkcji SQLExecute().
W jednym pliku może znajdować się wyłącznie jedna
instrukcja. Funkcja SQLAppendStatement() może być
jednak wykorzystana do dołączania do instrukcji, jeżeli
nie były wywoływane funkcje
SQLPrepareStatement() lub SQLExecute().

SQLManageDSN

Funkcja ta uruchamia program konfiguracyjny
Microsoft ODBC Manager. Można go wykorzystać do
dodawania, usuwania i modyfikacji nazw źródeł danych
(Data Source Names).

SQLNext

Funkcja ta wybiera następny rekord z tablicy wynikowej
(Results Table) utworzonej poprzez wykonanie ostatniej
funkcji SQLSelect().

SQLNumRows

Funkcja ta oblicza, ile wierszy spełnia kryteria podane
w ostatnio użytej funkcji SQLSelect().

SQLPrepareStatement

SQLPrepareStatement() przygotowuje istniejącą
instrukcję SQL do wykorzystania jej przez funkcję
SQLSetParam(). Instrukcja może zostać utworzona
zarówno za pomocą SQLSetStatement(), jak i
SQLLoadStatement().

SQLPrev

Funkcja ta wybiera poprzedni rekord z tablicy
wynikowej (Results Table) utworzonej poprzez
wykonanie ostatniej funkcji SQLSelect().

SQLRollback Funkcja

SQLRollback() odwraca, lub "cofa" ostatnio

wykonany zestaw transakcji. Grupa poleceń zawartych
pomiędzy funkcjami SQLTransact() i SQLCommit()
lub SQLRollback nosi nazwę zestawu transakcji.
Zestaw transakcji jest traktowany jak pojedyncza
transakcja. Po wykonaniu polecenia SQLTransact(),
wszystkie kolejne operacje nie będą kierowane do bazy
danych, aż do momentu kolejnego wywołania polecenia
SQLCommit().

background image

4-4 Rozdział 4

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Funkcja Opis
SQLSelect

Funkcja ta wybiera informacje z wyszczególnionej
tablicy w bazie danych. Podczas wykonywania funkcji
SQLSelect() w pamięci tworzona jest tymczasowa
tablica wynikowa (Results Table), zawierająca rekordy,
które można przeszukiwać używając funkcji
SQLFirst(), SQLLast(), SQLNext() i SQLPrev().

SQLSetParamChar

Funkcja ta powoduje przypisanie łańcucha znaków
określonemu parametrowi tekstowemu. Funkcja
SQLSetParamChar() może być wywoływana wiele
razy przed wykonaniem instrukcji SQL, w wyniku
czego parametr może być złożeniem kolejno
przypisywanych łańcuchów znaków.

SQLSetParamDate

Funkcja ta powoduje przypisanie łańcucha znaków
określonemu parametrowi reprezentującemu datę.

SQLSetParamDateTime

Funkcja ta powoduje przypisanie łańcucha znaków
określonemu parametrowi zawierającemu datę i czas.

SQLSetParamDecimal

Funkcja ta powoduje przypisanie łańcucha znaków
(cyfr) określonemu parametrowi dziesiętnemu.

SQLSetParamFloat

Funkcja ta powoduje przypisanie wartości określonemu
parametrowi.

SQLSetParamInt

Funkcja ta powoduje przypisanie wartości określonemu
parametrowi.

SQLSetParamLong

Funkcja ta powoduje przypisanie wartości określonemu
parametrowi.

SQLSetParamNull

Funkcja ta powoduje przypisanie określonemu
parametrowi wartości zerowej (pustej).

SQLSetParamTime

Funkcja ta powoduje przypisanie łańcucha znaków
określonemu parametrowi reprezentującemu czas.

SQLSetStatement

Funkcja ta tworzy bufor instrukcji SQL wykorzystując
do tego celu wartość SQLStatement, dla ustanowionego
połączenia ConnectionID. Jedno połączenie
ConnectionID może korzystać tylko z jednego bufora.

SQLTransact Funkcja

SQLTransact() określa początek zestawu

transakcji. Grupa poleceń zawierających się pomiędzy
funkcjami SQLTransact() i SQLCommit() nosi nazwę
zestawu transakcji. Zestaw transakcji jest traktowany jak
pojedyncza transakcja. Po wykonaniu polecenia
SQLTransact(), wszystkie kolejne operacje nie będą
kierowane do bazy danych, aż do momentu kolejnego
wywołania polecenia SQLCommit().

SQLUpdate

Funkcja ta powoduje zmodyfikowanie rekordu
w wyszczególnionej tablicy w bazie danych przy użyciu
bieżących wartości zmiennych powiązanych
z kolumnami tablicy.

SQLUpdateCurrent

Funkcja ta pobiera zaznaczony rekord i uaktualnia go.

background image

Funkcje SQL

4-5

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Parametry funkcji SQL

Poniżej opisano parametry wymagane przez każdą z funkcji SQL. Jeżeli parametr
wprowadzony w skrypcie ujęty jest w cudzysłów, np. "Parametr1", jako parametr użyty
zostanie wprowadzony łańcuch znaków. Jeżeli znaki cudzysłowów nie są używane, system
przyjmuje, ze Parameter1 jest zmienną, po czym przeszukuje bazę danych programu
InTouch w celu znalezienia wartości zmiennej Parameter1.

Przykład:

"c:\main\file" vs. Location

gdzie:

Location jest zmienną tekstowa programu InTouch.

"c:\main\file"

jest

łańcuchem znaków

Większość funkcji SQL wymaga podania co najmniej jednego spośród przedstawionych
poniżej parametrów.
Parametry Opis
BindList

Parametr ten odpowiada nazwie Listy powiązań w pliku
SQL.DEF.

ConnectionID

Zmienna typu Memory Integer, utworzona przez użytkownika do
pamiętania numeru (ID) przypisywanego przez funkcję
SQLConnect do każdego połączenia z bazą danych.

ConnectString

Nazwa bazy danych oraz dodatkowe informacje potrzebne do
nawiązania połączenia przy pomocy funkcji SQLConnect().

ErrorMsg

Zmienna typu tekstowego zawierająca opis komunikatu o błędzie.

Więcej informacji na temat komunikatów o błędach podano w

Rozdziale 5 - Usuwanie problemów.

FileName

Nazwa pliku zawierającego odczytywaną instrukcję.

MaxLen

Maksymalny rozmiar kolumny, z którą związany jest parametr.
Opcja ta wyznacza czy parametr jest typu o różnej liczbie
znaków, czy też typu o znacznie różnej liczbie znaków. Jeżeli
parametr MaxLen ma długość równą lub większą od maksymalnej
wartości dopuszczalnej w bazie danych, to parametr jest typu o
różnej liczbie znaków. Jeżeli jest dłuższy, ma typ o znacznie
różnej liczbie znaków.

OrderByExpression

Definiuje kolumnę i kierunek sortowania. Kluczem do sortowania
mogą być wyłącznie nazwy kolumn. Wyrażenie musi być
sformatowane:

Nazwa_kolumny

[ASC|DESC]

W celu posortowania zaznaczonej tabeli według nazwy kolumny
(np. manager w kolejności rosnącej):

"manager

ASC"

W celu posortowania względem kilku kolumn, należy podać:

Nazwa_kolumny

[ASC|DESC],

Nazwa_kolumny

[ASC|DESC]

W celu posortowania zaznaczonej tabeli według jednej kolumny
(np. temperatura) w kolejności rosnącej, oraz według drugiej
kolumny (np. czas) w kolejności malejącej.

" temperature ASC, time DESC"

background image

4-6 Rozdział 4

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

ParameterNumber

Numer parametru w instrukcji SQL.

ParameterType

Typ danych określonego parametru: Zakres dopuszczalnych
wartości:
Typ Wartość Opis

Char 1

Łańcuch znaków o stałej
długości wypełniony znakami
pustymi

funkcje

tekstowe

Var Char

2

Łańcuch znaków o zmiennej
długości

Decimal 3

Liczba

dziesiętna w kodzie

BCD

Integer

4

4-bajtowa liczba całkowita ze
znakiem

Small Integer

5

2-bajtowa liczba całkowita ze
znakiem

Float 6

4-bajtowa

liczba

zmiennoprzecinkowa

Double Precision
Float

7 8-bajtowa

liczba

zmiennoprzecinkowa

DateTime

8

26-bajtowa reprezentacja daty i
czasu

Date

111

26-bajtowa reprezentacja daty i
czasu

Time

112

26-bajtowa reprezentacja daty i
czasu

No Type

0

Brak typu danych

ParameterValue

Wartość parametru.

Precision Dokładność wartości podawanych w systemie dziesiętnym,

maksymalna liczba znaków, lub długość bajtów przeznaczonych
do zapisu daty i czasu.

RecordNumber

Numer rekordu, który ma zostać odczytany.

ResultCode

Zmienna całkowita zwracana przez większość funkcji SQL. Jej
wartość wynosi 0, jeśli funkcja została wykonana pomyślnie oraz
jest ujemną liczbą całkowitą, jeśli funkcja nie została wykonana.

Więcej informacji na ten temat podano w Rozdziale 5 -

Usuwanie problemów.

Scale Wartość dziesiętna skali. Jest wymagana tylko w przypadku, gdy

dotyczy zerowanego parametru.

SQLHandle

Jest to parametr wewnętrzny, wykorzystywany przy tworzeniu
zaawansowanych instrukcji SQL.

SQLStatement

Bieżąca instrukcja, przykładowo:

ResultCode=SQLSetStatement(ConnectionID,

"Select LotNo, LotName form LotInfo");

TableName

Nazwa tablicy w bazie danych, której dotyczy operacja.

TemplateName

Nazwa zdefiniowanego szablonu tablicy, który ma zostać użyty
przez funkcję.

background image

Funkcje SQL

4-7

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

WhereExpression

Warunek, który może być spełniony lub niespełniony dla każdego
wiersza tablicy. Funkcja wybiera z tablicy tylko te wiersze, dla
których warunek jest spełniony. Warunek musi mieć następujący
format:

NazwaKolumny

operator_porównania wyrażenie

Uwaga Jeśli w kolumnie znajdują się dane typu tekstowego,
wyrażenie musi zostać wpisane w apostrofach.

Poniższy przykład służy do wybrania wszystkich wierszy, w

których w kolumnie name występuje ciąg znaków EmployeeID:

name='EmployeeID'
Kolejny

przykład służy do wybrania wszystkich wierszy, w

których w kolumnie partno występuje liczba od 100 do 199:

partno>=100 and partno<200

Następny przykład służy do wybrania wszystkich wierszy, w

których w kolumnie temperature występuje liczba większa od
350:

temperature>350

background image

4-8 Rozdział 4

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Korzystanie z funkcji SQL w skryptach

Funkcje SQL można automatycznie wstawiać do skryptów programu InTouch, poprzez
kliknięcie przycisku Add ons w oknie dialogowym edytora skryptów. Funkcja SQL zostanie
wtedy automatycznie wstawiona do skryptu, w miejscu, w którym znajduje się kursor.

Szczegółowe informacje na temat skryptów podano w Podręczniku użytkownika,

Rozdział 6 "Skrypty".

Zapytania złożone

Moduł SQL Access pozwala na wysyłanie złożonych zapytań i instrukcji SQL. Zapytania te
mogą być dynamicznie tworzone, lub też mogą pochodzić z zewnętrznego pliku.
Dodatkowo, zapytania te mogą zawierać parametry, przekazywane w zapytaniu w czasie
pracy aplikacji. Po wywołaniu zapytania, może ono wrócić zbiór wynikowy. Moduł SQL
Access API pozwala na wywoływanie dowolnie złożonych instrukcji SQL, pod warunkiem,
że obsłuży je baza danych, oraz pozwala na przeglądanie wyników zapytania. Jako produkt
uboczny, dostępne są zachowane procedury. (Zachowane procedury nie są w pełni
obsługiwane).

Więcej informacji na ten temat podano w punkcie "Obsługa zachowanych procedur".

W przypadku złożonych zapytań i wyrażeń tekstowych o długości przekraczającej 131
znaków należy korzystać z funkcji SQLSetStatement. Jeżeli długość wyrażenia tekstowego
przekracza 131 znaków, skorzystać z funkcji SQLAppend. Przykładowo:

SQLSetStatement( Connect_Id, “Select Speed, Ser_No from

tablename where Ser_No =’” + Serial_input + “’”);

W zamieszczonym poniżej przykładzie, wartość SQLHandle ustawiona zostaje na 0, dzięki
czemu instrukcja nie wywołuje SQLPrepare(Connect_Id,SQLHandle) przed wykonaniem
instrukcji. Ponieważ SQLHandle nie została utworzona przez SQLPrepare w celu
poprawnego zakończenia tej selekcji, skorzystać z funkcji SQLEnd() w miejsce
SQLClearStatement().

SQLExceute(Connect_Id,0);

SQLSetStatement( Connect_Id, “Select Speed, Ser_No from

tablename where Ser_No =’” + Serial_input + “’”);

SQLPrepareStatement(Connect_Id,SQlHandle);

W zamieszczonym poniżej przykładzie, SQLHandle jest tworzona za pomocą
SQLPrepareStatement(), i wykorzystywana w funkcji SQLExecute(). W celu zakończenia
tej instrukcji selekcji skorzystać z funkcji SQLClearStatement(), co spowoduje uwolnienie
zasobów, oraz zwolnienie parametru SQLHandle.

SQLExceute(Connect_Id,SqlHandle);

background image

Funkcje SQL

4-9

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Dynamiczne budowanie zapytań

Dynamiczne budowanie zapytań umożliwiają dwie dodatkowe funkcje: SQLSetStatement()
i SQLAppendStatement(). SQLSetStatement() rozpoczyna nową instrukcję SQL. Może to
być dowolna, poprawna instrukcja SQL, włączając w to nazwę pamiętanej procedury.
Ponieważ długość zmiennych InTouch typu testowego nie może przekraczać 131 znaków,
stosowana jest funkcja SQLAppendStatement(), która dołącza dodatkowy łańcuch znaków
do instrukcji.

Uwaga Instrukcje języka SQL pisane są tekstem pogrubionym.

Przykład

ResultCode = SQLSetStatement ( ConnectionID, "Select LotNo,
LotName, LotDescription, LotQuantity
from LotInfo,
ProductionInfo" );

ResultCode = SQLAppendStatement (ConnectionID, " where
LotInfo.LotNo = ProductionInfo.LotNo" );

ResultCode = SQLAppendStatement (ConnectionID, " order by
LotNo,NotName,LotQuantity" );

W tym momencie można wywołać instrukcję.

Uwaga Bardzo często w nazwach kolumn baz danych i tabel rozróżniana jest wielkość liter.
Warunkiem poprawnego wykonania podanego powyżej skryptu jest dokładne wpisanie nazw
kolumn i baz danych, tak jak zdefiniowano je w tabelach baz danych.

Odczytywanie instrukcji SQL z pliku

Zapytanie może zostać utworzone przy pomocy innego programu, np. przy pomocy bazy
danych Microsoft Access, czy też bazy danych innego producenta, po czym może one zostać
wysłane przez moduł SQL Access. Do odczytywania instrukcji SQL z pliku przeznaczona
jest funkcja SQLLoadStatement().

Przykład

ResultCode = SQLLoadStatement ( ConnectionID,
"c:\myappdir\lotquery.sql" );

W tym momencie można wywołać instrukcję.

background image

4-10 Rozdział 4

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Określanie parametrów isntrukcji SQL w czasie pracy
aplikacji

W celu zapewnienia pełnej funkcjonalności SQL, moduł SQL Access pozwala na
wprowadzanie klauzuli where, zawierającej wartość zmiennej programu InTouch. Parametry
mogą być określane w trakcie pracy aplikacji w następujących funkcjach:
SQLPrepareStatement()

SQLSetParamType()

SQLClearStatement()

SQLClearParam()

W instrukcji SQL, w którym wartość parametru ma zostać określona w późniejszym czasie,
należy wstawić "?". Instrukcja ta jest "przygotowywana", następnie "przypisywana" jest
wartość parametru, po czym następuje wykonanie instrukcji.

SQLPrepareStatement() przygotowuje instrukcję do wykonania. Funkcja ta nie powoduje
wykonania instrukcji, a wyłącznie uaktywnia tę instrukcję, co umożliwia przypisanie
parametrom wartości. SQLSetParamType() to zbiór funkcji, pozwalających na przypisanie
wartości różnym parametrom instrukcji SQL.

Przykład

ResultCode = SQLSetStatement ( ConnectionID, "Select LotNo,
LotName, LotDescription, LotQuantity
from LotInfo,
ProductionInfo" );

ResultCode = SQLAppendStatement (ConnectionID, " where
LotInfo.LotNo = ?");

ResultCode = SQLAppendStatement (ConnectionID, " order by
LotNo,NotName,LotQuantity" );

ResultCode = SQLPrepareStatement (ConnectionID, SQLHandle );

{Przypisz do zmiennej 'SQLHandle' identyfikator wewnętrzny
instrukcji}

ResultCode = SQLSetParamInt ( SQLHandle, 1, tagLotNumber );

{przypisz do parametru wartość zmiennej tagLotNumber}

Ponieważ instrukcja ta ma tylko jeden parametr, jest w tym momencie gotowa do
wykonania.

Po wykonaniu instrukcji, oraz zakończeniu korzystania z niej, można wywołać funkcję
SQLClearStatement() w celu zwolnienia zasobów zajmowanych przez tę instrukcję.

Uwaga Wywołanie funkcji SQLEnd() zwalania zasoby zajmowane przez instrukcje SQL
"bez nazwy" (wygenerowane przez istniejące funkcje języka SQL oraz instrukcje utworzone
przy pomocy funkcji SQLSetStatement() i SQLLoadStatement(), a nie przygotowane.

background image

Funkcje SQL

4-11

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Wykonywanie rozbudowanych instrukcji SQL

Jeżeli instrukcja została utworzona dynamicznie, albo odczytana z pliku, oraz opcjonalnie
przygotowano ją lub zmodyfikowano, można przystąpić do wykonywania jej. Moduł SQL
Access API korzysta w tym celu z funkcji SQLExecute(). SQLExecute() powoduje albo
wykonanie aktywnej w danym momencie instrukcji (np. instrukcji przygotowanej za pomocą
SQLSetStatement() lub SQLLoadStatement(), lub instrukcji uprzednio przygotowanej,
określonej przez identyfikator wewnętrznej instrukcji (parametr SQLHandle).

Przykład #1

ResultCode = SQLLoadStatement ( ConnectionID,
"c:\myappdir\lotquery.sql" );

ResultCode = SQLExecute (ConnectionID, "BindList", 0);

{wyniki operacji selekcji należy przypisać do zmiennych
określonych za pomocą parametru BindList - identyfikator
przygotowanej instrukcji jest równy 0}

ResultCode = SQLNext ( ConnectionID );

{Pobierz wyniki operacji selekcji}

Przykład #2

ResultCode = SQLSetStatement ( ConnectionID, "Select LotNo,
LotName, LotDescription, LotQuantity from LotInfo,
ProductionInfo" );

ResultCode = SQLAppendStatement (ConnectionID, " where
LotInfo.LotNo = ?");

{Znak zapytania oznacza, że wartość tego parametru zostanie
ustalona w późniejszym czasie}

ResultCode = SQLAppendStatement (ConnectionID, " order by
LotNo,NotName,LotQuantity" );

ResultCode = SQLPrepareStatement (ConnectionID, SQLHandle );

{przypisz identyfikator instrukcji do zmiennej 'SQLHandle'}

ResultCode = SQLSetParamInt ( SQLHandle, 1, tagLotNumber );

{przypisz do parametru wartość zmiennej tagLotNumber}

ResultCode = SQLExecute (ConnectionID, "BindList", SQLHandle);
{wyniki operacji selekcji przypisać do zmiennych określonych
przez parametr BindList, przygotowana instrukcja jest
identyfikowana przez SQLHandle}

ResultCode = SQLNext ( ConnectionID );

{Pobierz wyniki operacji selekcji}

background image

4-12 Rozdział 4

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Przykład #3

SQLSetStatement - Instrukcja ta przeznaczona jest do budowania złożonych zapytań i
wyrażeń tekstowych o długości przekraczającej 131 znaków. Jeżeli długość wyrażenia
tekstowego przekracza 131 znaków, skorzystać z funkcji SQLAppend.

SQLSetStatement( Connect_Id, “Select Speed, Ser_No from
tablename where Ser_No =’” + Serial_input + “’”);

SQLExceute(Connect_Id,0);

W zamieszczonym powyżej przykładzie, wartość SQLHandle ustawiona zostaje na 0, dzięki
czemu instrukcja nie wywołuje SQLPrepare(Connect_Id,SQLHandle) przed wykonaniem
instrukcji. Ponieważ SQLHandle nie została utworzona przez SQLPrepare, w celu
poprawnego zakończenia tej selekcji, skorzystać z funkcji SQLEnd w miejsce
SQLClearStatement().

SQLSetStatement( Connect_Id, “Select Speed, Ser_No from
tablename where
Ser_No =’” + Serial_input + “’”);
SQLPrepareStatement(Connect_Id,SQlHandle);

SQLExceute(Connect_Id,SqlHandle);

W zamieszczonym powyżej przykładzie, SQLHandle jest tworzona za pomocą
SQLPrepareStatement, i wykorzystywana w funkcji SQLExecute. W celu zakończenia tej
instrukcji selekcji skorzystać z funkcji SQLClearStatement co spowoduje uwolnienie
zasobów, oraz zwolnienie SQLHandle.

Obsługa procedur zachowanych

Funkcja SQLExceute() pozwala na wykonywanie niektórych procedur zachowanych.
Przykładowo, załóżmy, że utworzona została procedura zachowana na serwerze baz danych
o nazwie "LotInfoProc", zawierająca następujące instrukcje do selekcji: "Select LotNo,
LotName from LotInfo." W celu wykonania tej procedury, i otrzymania wyników należy
napisać następujący skrypt:

Dla bazy Microsoft SQL Server

ResultCode = SQLSetStatement ( ConnectionID, "LotInfoProc" );

ResultCode = SQLExecute(ConnectionID, "BindList", 0);

ResultCode = SQLNext ( ConnectionID );

{ Pobierz wyniki operacji selekcji}

Dla bazy Oracle lub Microsoft Access

ResultCode = SQLSetStatement ( ConnectionID, "{CALL
LotInfoProc}" );

ResultCode = SQLExecute(ConnectionID, "BindList", 0);

ResultCode = SQLNext ( ConnectionID );

{Pobierz wyniki operacji selekcji}

background image

5-1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

R O Z D Z I A Ł 5

Usuwanie problemów

W niniejszym rozdziale opisano metody usuwania problemów, występujących w czasie
korzystania z instrukcji SQL, przy pomocy parametru ResultCode, zwracanego przez
funkcje SQL. Pierwszy z punktów poświęcono funkcji SqLErrorMsg(), zamieszczono
w nim również zestawienie wartości parametru ResultCode, i odpowiadających im
komunikatów o błędach. W drugim punkcie zamieszczono tabele z komunikatami o błędach
dla poszczególnych baz danych.

Spis treści

Funkcje do usuwania problemów

Kody błędów dla poszczególnych baz danych

background image

5-2 Rozdział 5

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Funkcje do usuwania problemów

Wszystkie funkcje SQL zwracają parametr ResultCode, który może zostać wykorzystany
przy usuwaniu problemów. Funkcja SQLErrorMsg() zwraca komunikat o błędzie, dla
zdanego kodu ResultCode.

Przykład:

ErrorMsg=SQLErrorMsg(ResultCode);

gdzie:

ErrorMsg jest zmienną typu Memory Message.
ResultCode jest zmienną całkowitą, z wartością dostarczoną przez
odpowiednią funkcję SQL.

Komunikaty o błędach

W niniejszym dokumencie nie omówiono znaczenia poszczególnych wartości ResultCode,
więcej informacji na temat tych wartości podano w dokumentacji do bazy danych. Należy
również pamiętać o sprawdzeniu informacji wyświetlanych przez program diagnostyczny
Wonderware Logger.

Funkcja SQLErrorMsg() przypisuje wartość zmiennej tekstowej ErrorMsg. Poniżej
zamieszczono zestawienie wybranych kodów błędów, oraz odpowiadające im komunikaty,
wraz z ich opisem.
Kod błędu

(ResultCode) Komunikat

Opis

0

No errors occurred

Instrukcja została zakończona
pomyślnie, bez wystąpienia błędu

-5

No more rows to fetch

Odczytany został ostatni rekord bazy
danych

-1001

Out of memory

Brak wolnej pamięci na zakończenie
instrukcji

-1002

Invalid connection

Niepoprawny parametr ConnectionID
przekazany do funkcji

-1003

No bind list found

Lista powiązań o zadanej nazwie nie
istnieje

-1004

No template found

Szablon o zadanej nazwie nie istnieje

-1005

Internal Error

Wystąpił błąd wewnętrzny.
Skontaktować się z Serwisem.

-1006

String is null

Ostrzeżenie - z bazy danych
odczytano pusty łańcuch znaków

-1007

String is truncated

Ostrzeżenie - łańcuch znaków
odczytany z bazy danych ma więcej
niż 131 znaków w związku z czym
został on obcięty

-1008

No Where clause

Brak klauzuli Where dla Delete

background image

Usuwanie

zakłóceń 5-3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Kod błędu

(ResultCode) Komunikat

Opis

-1009

Connection failed

Błąd w komunikacji, szczegółowy
opis zakłócenia podany jest
w programie diagnostycznym
Wonderware Logger

-1010

The database
specified on the DB=
portion of the connect
string does not exist

Określona baza danych nie istnieje

-1011

No rows were
selected

Podjęto próbę wykonania polecenia
SQLNumRows(), SQLFirst(),
SQLNext(), lub SQLPrev(), bez
uprzedniego wykonania polecenia
SQLSelect().

-4149

The connection,
statement, or query
handle you provided
is not valid

Przyczyną może być niewłaściwie
zdefiniowany typ kolumny.
Przykładowo, jeżeli w pliku dBASE
zdefiniować szablon tabeli z kolumną
typu character, a nie typu char,
zasygnalizowany zostanie błąd

background image

5-4 Rozdział 5

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Kody błędów dla poszczególnych baz danych

Oracle

Komunikat Rozwiązanie

ORA-03112 - Host String Syntax error

Jeżeli uruchamiany jest program
NETINIT.EXE należy umieścić go
w grupie Autostart systemu Windows.
Jeżeli uruchamiany jest program
NETINIT.EXE, i nawiązywane jest więcej
niż jedno połączenie, lub też
uruchamianych jest więcej niż jedna sesja,
należy przydzielić więcej pamięci. W tym
celu należy ustawić parametr
WIN_REMOTE_SESSIONS
w pliku CONFIG.ORA na wartość równa
liczbie żądanych połączeń. Zamieszczona
poniżej instrukcja przydziela pamięć dla 4
połączeń:

WIN_REMOTE_SESSIONS=4

ORA-3121 - No interface driver
connected

Przed uruchomieniem Windows, oraz przed
korzystaniem z InTouch SQL Access należy
uruchomić program SQL *NET TSR,
odpowiedni dla systemu sieciowego.

ORA-6435 - NetBIOS: ORA-6435 -
NetBIOS: Unable to add local name to
name table

Musi być uruchomiony system sieciowy
(Novell, LAN Manager, itp.)

ORA-09301 -

Local kernel only

supported in standard mode

W łańcuchu znaków do ustanowienia
połączenia określić nazwę serwera
("SRVR=").

ORA-06430 -

Unable to make connection

Zweryfikować poprawność i kolejność
atrybutów w łańcuchu znaków do
ustanowienia połączenia.

background image

Usuwanie

zakłóceń 5-5

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Sybase lub Microsoft SQL Server

Komunikat Rozwiązanie

You cannot have more than one
statement active at a time

Próba wykonania polecenia SQL po
wykonaniu SQLSelect(). Wywołać
polecenie SQLEnd() w celu zwolnienia
zasobów systemu, lub też przeznaczyć dla
drugiej instrukcji oddzielny parametr
ConnectionID.

There is not enough memory available
to process the command

Spróbować ponownie uruchomić stację
kliencką

Invalid object name table name

Nazwa tablicy nie istnieje w używanej bazie
danych. Spróbować skorzystać z instrukcji
DB=nazwa bazy danych.

dBASE

Komunikat Rozwiązanie

File or DLL not found

W przypadku systemu Windows, plik
QEDBF.DLL musi znajdować się w
bieżącej kartotece, lub w kartotece systemu
Windows podanej w ścieżce DOS.

Invalid connection

Należy sprawdzić, czy w kartotece znajdują
się odpowiednie pliki DLL. W przypadku
DBF, potrzebny jest plik QLDBF.DLL.

The connection or statement handle you
provided is not valid

Więcej informacji na ten temat podano w
programie Wonderware Logger . Instrukcja
SQL może zawierać błąd w składni.

background image

5-6 Rozdział 5

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

background image

A-1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Z A Ł Ą C Z N I K A

Zarezerwowane słowa kluczowe języka SQL
i ODBC

Poniżej zestawiono słowa kluczowe, z których nie można wykorzystywać w Liście powiązań
modułu SQL Access, oraz w interfejsie Open Database Connectivity (ODBC).

Jeżeli zarezerwowane słowo kluczowe zostanie wprowadzone w polu Column Name
w oknie edycyjnym Listy powiązań lub w Szablonów tabel, program Wonderware Logger
wygeneruje komunikat o błędzie. Rodzaj wygenerowanego błędu zależy od wersji
wykorzystywanego sterownika ODBC oraz od miejsca, w którym słowo kluczowe zostało
wprowadzone. Przykładowo, jednym z najczęściej spotykanych błędów jest użycie słów
DATE i TIME jako nazw kolumn w czasie definiowania Listy powiązań lub Szablonu tabel.
W celu uniknięcia tego błędu, należy wprowadzić nieznacznie zmodyfikowaną nazwę, np.
"aDate", czy "aTime".

Zarezerwowane słowa kluczowe stanowią część języka SQL (Structured Query Langugage),
wykorzystywanego przez pakiet InTouch. Słowa kluczowe są również rozpoznawane przez
sterowniki ODBC. Moduł SQL Access przesyła polecenie SQL, zawierające jedno lub
więcej zarezerwowanych słów do pliku ODBC.DLL. Jeżeli polecenie SQL nie może zostać
poprawnie zinterpretowane, Moduł SQL Access przesyła komunikat o błędzie do programu
Wonderware Logger.

Poniżej wymieniono w kolejności alfabetycznej zarezerwowane słowa kluczowe.

background image

A-2 Załącznik A

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

ABSOLUTE
ADA
ADD
ALL
ALLOCATE
ALTER
AND
ANY
ARE
AS
ASC
ASSERTION
AT
AUTHORIZATION
AVG
BEGIN
BETWEEN
BIT
BIT_LENGTH
BY
CASCADE
CASCADED
CASE
CAST
CATALOG
CHAR
CHAR_LENGTH
CHARACTER
CHARACTER_LENGTH
CHECK
CLOSE COALESCE
COBOL
COLLATE
COLLATION
COLUMN
COMMIT
CONNECT
CONNECTION

CONSTRAINT
CONSTRAINTS
CONTINUE
CONVERT
CORRESPONDING
COUNT
CREATE
CURRENT
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURSOR
DATE
DAY
DEALLOCATE
DEC
DECIMAL
DECLARE
DEFERRABLE
DEFERRED
DELETE
DESC
DESCRIBE
DESCRIPTOR
DIAGNOSTICS
DICTIONARY
DISCONNECT
DISPLACEMENT
DISTINCT
DOMAIN
DOUBLE
DROP
ELSE
END
ESCAPE

EXCEPT
EXCEPTION
EXEC

EXECUTE
EXISTS
EXTERNAL
EXTRACT
FALSE
FETCH
FIRST
FLOAT
FOR FOREIGN
FORTRAN
FOUND
FROM FULL
GET
GLOBAL
GO
GOTO
GRANT
GROUP
HAVING
HOUR
IDENTITY
IGNORE
IMMEDIATE
IN
INCLUDE
INDEX
INDICATOR
INITIALLY
INNER
INPUT
INSENSITIVE
INSERT
INTEGER
INTERSECT
INTERVAL
INTO
IS
ISOLATION
JOIN
KEY
LANGUAGE
LAST
LEFT
LEVEL
LIKE
LOCAL
LOWER
MATCH
MAX
MIN
MINUTE
MODULE
MONTH
MUMPS
NAMES
NATIONAL
NCHAR
NEXT
NONE
NOT
NULL
NULLIF
NUMERIC
OCTET_LENGTH
OF
OFF
ON
ONLY
OPEN
OPTION

OR
ORDER
OUTER
OUTPUT
OVERLAPS
PARTIAL
PASCAL

PLI
POSITION
PRECISION
PREPARE
PRESERVE
PRIMARY
PRIOR
PRIVILEGES
PROCEDURE
PUBLIC
RESTRICT
REVOKE
RIGHT
ROLLBACK
ROWS
SCHEMA
SCROLL
SECOND
SECTION
SELECT
SEQUENCE
SET
SIZE
SMALLINT
SOME
SQL
SQLCA
SQLCODE
SQLERROR
SQLSTATE
SQLWARNING
SUBSTRING
SUM
SYSTEM
TABLE
TEMPORARY
THEN
TIME
TIMESTAMP
TIMEZONE_HOUR
TIMEZONE_MINU
TO
TRANSACTION
TRANSLATE
TRANSLATION
TRUE
UNION
UNIQUE
UNKNOWN
UPDATE
UPPER
USAGE
USER
USING
VALUE
VALUES
VARCHAR
VARING
VIEW
WHEN
WHENEVER
WHERE
WITH
WORK
YEAR

background image

I-1

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Indeks

B

Baza danych, 1-1
BindListName, 3-10, 4-5
Budowanie złożonych zapytań, 4-8

C

ConnectionID, 4-5
ConnectionID, 4-5
CSV, 1-2, 3-10

D

dBASE

Obsługiwane typy danych, 2-11, 2-14
Wymogi do nawiązania połączenia, 2-10

dBASE, 2-10
DBNMP3.DLL, 2-8
Delim Funkcja, 3--6
Dokumentacja elektroniczna, 1-3
Dynamiczne budowanie zapytań, 4-9

E

ErrorMsg, 4-5

F

FileName, 4-5
Funkcje

SQLAppendStatement, 4-2
SQLClearParam, 4-2
SQLClearParam, 4-2
SQLClearStatement, 4-2
SQLCommit, 4-2
SQLConnect, 2-2, 2-8, 4-2
SQLCreateTable, 4-2
SQLDelete, 4-2
SQLDisconnect, 4-2
SQLDropTable, 4-2
SQLEnd, 4-2
SQLErrorMsg, 4-2
SQLExecute, 4-2
SQLFirst, 4-2
SQLGetRecord, 4-2
SQLInsert, 4-3
SQLInsertEnd, 4-3
SQLInsertExecute, 4-3
SQLInsertPrepare, 4-3
SQLLast, 4-3
SQLLoadStatement, 4-3
SQLManageDSN, 4-3
SQLNext, 4-3
SQLNumRows, 4-3
SQLPrepareStatement, 4-3
SQLPrev, 4-3
SQLRollback, 4-3
SQLSelect, 4-4
SQLSetParamChar, 4-4
SQLSetParamDate, 4-4
SQLSetParamDateTime, 4-4

SQLSetParamDecimal, 4-4
SQLSetParamFloat, 4-4
SQLSetParamInt, 4-4
SQLSetParamLong, 4-4
SQLSetParamNull, 4-4
SQLSetParamTime, 4-4
SQLSetStatement, 4-4
SQLTransact, 4-4
SQLUpdate, 4-4
SQLUpdateCurrent, 4-4

Funkcje SQL, 4-1

K

Kody błędów dla poszczególnych baz danych

dBASE, 5-5
Oracle, 5-4
Sybase lub Microsoft SQL Server, 5-5

Kody komunikatów o błędach, 5-2
Kompatybilność z ODBC, 1-5
Konfigurowanie i nawiązywanie połączenia z baza

danych, 2-1

Konfigurowanie listy powiązań, 3-3
Konfigurowanie Menedżera języka SQL, 3-1
Konfigurowanie szablonu tabeli, 3-7
Korzystanie z funkcji SQL w programie InTouch, 4-8

L

Licencja FactorySuite, 1-4

Przeglądarka zmiennych, 3-4
tworzenie, 3-3
usuwanie, 3-5
wprowadzanie zmian, 3-5

Lista powiązań, 3-3

M

MaxLen, 4-5
Microsoft Access

Obsługiwane typy danych, 2-12, 2-14
Wymogi do nawiązania połączenia, 2-12

Microsoft Access, 2-12
Microsoft SQL Server

Konfigurowanie Klienta, 2-8
Obsługiwane typy zmiennych, 2-9
Wymogi do nawiązania połączenia, 2-8

modyfikowanie Listy powiązań, 3-5
Modyfikowanie rozszerzonych instrukcji SQL, 4-10

N

Nazwa kolumny, 3-4
Nazwa Szablonu tabeli, 3-7,3-10
NETINIT.EXE Program, 2-2

O

O Podręczniku użytkownika, 1-3
Obsługa zachowanych procedur, 4-12
Obsługiwane bazy danych

dBASE, 2-10
Microsoft Access, 2-12

background image

I-2 Indeks

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

Microsoft SQL Server, 2-8
Oracle 6, 2-2
Paradox, 2-13
Sybase, 2-8

Obsługiwane typy zmiennych, 2-14
ODBC Administrator Program, 1-5
ODBC.INI, 1-5
Odczytywanie instrukcji SQL z pliku, 4-9
Oracle

Obsługiwane typy zmiennych, 2-14
Konfigurowanie Klienta bazy danych Windows,
2-2
Obsługiwane typy zmiennych, 2-3
Uruchamianie programów SQL*Net TSR i
NETINIT.EXE, 2-2
Wymogi do nawiązania połączenia, 2-2

Oracle 6, 2-2

Konfigurowanie nazwy źródła danych, 2-5

Oracle 7, 4-2
Oracle 7.2, 2-4
OrderByExpression, 4-5

P

Paradox

Obsługiwane typy danych, 2-13, 2-14
Wymogi do nawiązania połączenia, 2-13

Paradox, 2-13
ParameterNumber, 4-6
ParameterType, 4-6
ParameterValue, 4-6
Parametry SQL, 4-5
parametry, 4-5
Parametry

BindListName, 4-5
ConnectionID, 4-5
ConnectionID, 4-5
ErrorMsg, 4-5
FileName, 4-5
MaxLen, 4-5
OrderByExpression, 4-5
ParameterNumber, 4-6
ParameterType, 4-6
ParameterValue, 4-6
Precision, 4-6
RecordNumber, 4-6
ResultCode, 4-6
Scale, 4-6

SQLHandle, 4-6
SQLStatement, 4-6
TableName, 4-6
TemplateName, 4-6
WhereExpression, 4-7

Pole zmiennej, 3-4
Polecenia

Szablon tabeli, 3-8

Pomoc techniczna Wonderware, 1-4
Precision, 4-6
Przegląd Menedżera języka SQL, 3-2
Przeglądarka zmiennych, 3-4

R

RecordNumber, 4-6
Rejestrowanie daty i czasu w polach bazy danych

Oracle, 2-7

ResultCode, 4-6, 5-2

S

Scale, 4-6
Separatory specjalne, 3-6
Separatory, 3-6
Składnia funkcji SQL, 4-2
Skrypty, 4-8
Słowa kluczowe, A-1
SQL.DEF, 1-2, 3-10
SQLAppendStatement, 4-2
SQLClearParam, 4-2
SQLClearParam, 4-2
SQLClearStatement, 4-2
SQLCommit, 4-2
SQLConnect, 2-2, 2-8, 4-2
SQLCreateTable, 4-2
SQLDelete, 4-2
SQLDisconnect, 4-2
SQLDropTable, 4-2
SQLEnd, 4-2
SQLErrorMsg, 4-2, 5-2
SQLExecute, 4-2
SQLFirst, 4-2
SQLGetRecord, 4-2
SQLHandle, 4-6
SQLInsert, 3-6
SQLInsert, 4-3
SQLInsert, 4-3

background image

Indeks

I-3

Astor Sp. z o.o. – Autoryzowany Dystrybutor Wonderware

SQLInsertExecute, 4-3
SQLInsertPrepare, 4-3
SQLLast, 4-3
SQLLoadStatement, 4-3
SQLManageDSN, 4-3
SQLNext, 4-3
SQLNumRows, 4-3
SQLPrepareStatement, 4-3
SQLPrev, 4-3
SQLRollback, 4-3
SQLSelect, 4-4
SQLSetParamChar, 4-4
SQLSetParamDate, 4-4
SQLSetParamDateTime, 4-4
SQLSetParamDecimal, 4-4
SQLSetParamFloat, 4-4
SQLSetParamInt, 4-4
SQLSetParamLong, 4-4
SQLSetParamNull, 4-4
SQLSetParamTime, 4-4
SQLSetStatement, 4-4
SQLStatement, 4-6
SQLTransact, 4-4
SQLUpdate, 3-6, 4-4
SQLUpdateCurrent, 4-4
Structured Query Language, 1-1
Sybase

Konfigurowanie Klienta, 2-8
Obsługiwane typy danych, 2-9, 2-14
Wymogi do nawiązania połączenia, 2-8

Sybase lub Microsoft SQL Server

Obsługiwane typy zmiennych, 2-14

Sybase lub Microsoft SQL Server, 2-8

tworzenie, 7-3
usuwanie, 3-9
wprowadzanie zmian, 3-9

Szablon tabeli, 3-7

T

Table Template Polecenie, 3-8
TableName, 4-6
TemplateName, 4-6
Typy danych obsługiwane przez Oracle 6, 2-3
usuwanie Listy powiązań, 3-5
usuwanie Szablonu tabeli, 3-9
usuwanie Szablonu tabeli, 3-9

U

Usuwanie zakłóceń dla funkcji skryptowych SQL, 5-2
Usuwanie zakłóceń, 5-1

W

WhereExpression, 4-7
Wprowadzenie do Menedżera języka SQL, 1-2
Współpraca z bazą danych Oracle 6, 2-2
Wykonywanie rozszerzonych instrukcji SQL, 4-11
Wymogi do nawiązania połączenia, 1-5

Z

Zapytania

Dynamiczne budowanie zapytań, 4-9
Złożone, 4-9


Document Outline


Wyszukiwarka

Podobne podstrony:
LI ASK RT IT711
LI ASK SA IT900
LI ASK SA IT700
LI ASK SPC IT711
LI ASK PP IT711
LI ASK MR IT711
LI ASK SA IT95
li ask zz ge3 5E2JZTQ5PYH7Q3CI6HVII64U3BJBL6JHS7BPSTA
LI ASK RT IT700

więcej podobnych podstron