Instrukcja krok po kroku dotycząca ogólnego łącznika SQL

Ten temat zawiera przewodnik krok po kroku. Tworzy prostą przykładową bazę danych HR i używa jej do importowania niektórych użytkowników i ich członkostwa w grupach.

Przygotowywanie przykładowej bazy danych

Na serwerze z systemem SQL Server uruchom skrypt SQL znajdujący się w dodatku A. Ten skrypt tworzy przykładową bazę danych o nazwie GSQLDEMO. Model obiektu dla utworzonej bazy danych wygląda następująco:
Model obiektu

Utwórz również użytkownika, którego chcesz użyć do nawiązania połączenia z bazą danych. W tym przewodniku użytkownik ma nazwę FABRIKAM\SQLUser i znajduje się w domenie.

Tworzenie pliku połączenia ODBC

Łącznik generic SQL używa odbc do nawiązywania połączenia z serwerem zdalnym. Najpierw musimy utworzyć plik z informacjami o połączeniu ODBC.

  1. Uruchom narzędzie do zarządzania ODBC na serwerze:
    ODBC
  2. Wybierz kartę File DSN (Nazwa DSN pliku). Kliknij pozycję Dodaj....
    ODBC1
  3. Sterownik out-of-box działa prawidłowo, więc wybierz go i kliknij przycisk Dalej.
    ODBC2
  4. Nadaj plikowi nazwę, taką jak GenericSQL.
    ODBC3
  5. Kliknij przycisk Finish (Zakończ).
    ODBC4
  6. Czas na skonfigurowanie połączenia. Podaj dobry opis źródła danych i podaj nazwę serwera z systemem SQL Server.
    ODBC5
  7. Wybierz sposób uwierzytelniania za pomocą SQL. W tym przypadku użyjemy uwierzytelniania Windows uwierzytelniania.
    ODBC6
  8. Podaj nazwę przykładowej bazy danych GSQLDEMO.
    ODBC7
  9. Zachowaj wszystko domyślnie na tym ekranie. Kliknij przycisk Finish (Zakończ).
    ODBC8
  10. Aby sprawdzić, czy wszystko działa zgodnie z oczekiwaniami, kliknij pozycję Testuj źródło danych.
    ODBC9
  11. Upewnij się, że test został pomyślny.
    ODBC10
  12. Plik konfiguracji ODBC powinien być teraz widoczny w pliku DSN.
    ODBC11

Mamy teraz potrzebny plik i możemy rozpocząć tworzenie łącznika.

Tworzenie ogólnego łącznika SQL danych

  1. W interfejsie Synchronization Service Manager wybierz pozycję Łączniki i utwórz. Wybierz pozycję SQL (Microsoft) i nadaj mu opisową nazwę.
    Łącznik1
  2. Znajdź plik DSN utworzony w poprzedniej sekcji i przekaż go na serwer. Podaj poświadczenia, aby nawiązać połączenie z bazą danych.
    Łącznik 2
  3. W tym przewodniku ułatwiamy sobie zadanie i mówimy, że istnieją dwa typy obiektów: Użytkownik i Grupa. Łącznik3
  4. Aby znaleźć atrybuty, chcemy, aby łącznik wykrył te atrybuty, patrząc na samą tabelę. Ponieważ użytkownicy są słowem zarezerwowanym w SQL, musimy podać go w nawiasach kwadratowych [ ].
    Łącznik4
  5. Czas definiowania atrybutu zakotwiczenia i atrybutu DN. W przypadkuużytkowników używamy kombinacji dwóch atrybutów username i EmployeeID. W przypadkugrupy używamy parametru GroupName (nie jest to realistyczne w rzeczywistym przypadku, ale w tym przewodniku działa). Łącznik5
  6. Nie wszystkie typy atrybutów można wykryć w SQL bazy danych. Typ atrybutu odwołania w szczególności nie może. W przypadku typu obiektu grupy musimy zmienić wartości OwnerID i MemberID na odwołania.
    Łącznik6
  7. Atrybuty wybrane w poprzednim kroku jako atrybuty odwołania wymagają typu obiektu, do których te wartości są odwołaniami. W naszym przypadku jest to typ obiektu Użytkownik.
    Łącznik7
  8. Na stronie Parametry globalne wybierz pozycję Watermark jako strategię różnicową. Wpisz również format daty/godziny yyyy-MM-dd HH:mm:ss. Łącznik8
  9. Na stronie Konfigurowanie partycji i hierarchii wybierz oba typy obiektów. Łącznik9
  10. Na stronie Wybierz typy obiektów i Wybierz atrybutywybierz zarówno typy obiektów, jak i wszystkie atrybuty. Na stronie Konfigurowanie kotwic kliknij przycisk Zakończ.

Tworzenie profilów uruchamiania

  1. W interfejsie Synchronization Service Manager wybierz pozycję Łącznikii Skonfiguruj profile uruchamiania. Kliknij pozycję Nowy profil. Zaczynamy od pełnego importu.
    Runprofile1
  2. Wybierz typ Pełny import (tylko etap).
    Runprofile2
  3. Wybierz partycję OBJECT=User.
    Runprofile3
  4. Wybierz pozycję Tabela i wpisz [USERS]. Przewiń w dół do sekcji typ obiektu o wielu wartościach i wprowadź dane, jak na poniższej ilustracji. Wybierz pozycję Zakończ, aby zapisać krok.
    Runprofile4a
    Runprofile4b
  5. Wybierz pozycję Nowy krok. Tym razem wybierz pozycję OBJECT=Group. Na ostatniej stronie użyj konfiguracji , jak na poniższej ilustracji. Kliknij przycisk Finish (Zakończ).
    Runprofile5a
    Runprofile5b
  6. Opcjonalnie: jeśli chcesz, możesz skonfigurować dodatkowe profile uruchamiania. W tym przewodniku jest używany tylko pełny import.
  7. Kliknij przycisk OK, aby zakończyć zmienianie profilów uruchamiania.

Dodawanie danych testowych i testowanie importu

Wypełnij dane testowe w przykładowej bazie danych. Gdy wszystko będzie gotowe, wybierz pozycję Uruchom izaimportuj pełny.

Oto użytkownik z dwoma numerami telefonów i grupą z niektórymi członkami.
cs1
cs2

dodatek A

SQL skryptu w celu utworzenia przykładowej bazy danych

---Creating the Database---------
Create Database GSQLDEMO
Go
-------Using the Database-----------
Use [GSQLDEMO]
Go
-------------------------------------
USE [GSQLDEMO]
GO
/****** Object:  Table [dbo].[GroupMembers]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[GroupMembers](
    [MemberID] [int] NOT NULL,
    [Group_ID] [int] NOT NULL
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[GROUPS]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[GROUPS](
    [GroupID] [int] NOT NULL,
    [GROUPNAME] [nvarchar](200) NOT NULL,
    [DESCRIPTION] [nvarchar](200) NULL,
    [WATERMARK] [datetime] NULL,
    [OwnerID] [int] NULL,
PRIMARY KEY CLUSTERED
(
    [GroupID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[USERPHONE]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[USERPHONE](
    [USER_ID] [int] NULL,
    [Phone] [varchar](20) NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[USERS]   ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[USERS](
    [USERID] [int] NOT NULL,
    [USERNAME] [nvarchar](200) NOT NULL,
    [FirstName] [nvarchar](100) NULL,
    [LastName] [nvarchar](100) NULL,
    [DisplayName] [nvarchar](100) NULL,
    [ACCOUNTDISABLED] [bit] NULL,
    [EMPLOYEEID] [int] NOT NULL,
    [WATERMARK] [datetime] NULL,
PRIMARY KEY CLUSTERED
(
    [USERID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
ALTER TABLE [dbo].[GroupMembers]  WITH CHECK ADD  CONSTRAINT [FK_GroupMembers_GROUPS] FOREIGN KEY([Group_ID])
REFERENCES [dbo].[GROUPS] ([GroupID])
GO
ALTER TABLE [dbo].[GroupMembers] CHECK CONSTRAINT [FK_GroupMembers_GROUPS]
GO
ALTER TABLE [dbo].[GroupMembers]  WITH CHECK ADD  CONSTRAINT [FK_GroupMembers_USERS] FOREIGN KEY([MemberID])
REFERENCES [dbo].[USERS] ([USERID])
GO
ALTER TABLE [dbo].[GroupMembers] CHECK CONSTRAINT [FK_GroupMembers_USERS]
GO
ALTER TABLE [dbo].[GROUPS]  WITH CHECK ADD  CONSTRAINT [FK_GROUPS_USERS] FOREIGN KEY([OwnerID])
REFERENCES [dbo].[USERS] ([USERID])
GO
ALTER TABLE [dbo].[GROUPS] CHECK CONSTRAINT [FK_GROUPS_USERS]
GO
ALTER TABLE [dbo].[USERPHONE]  WITH CHECK ADD  CONSTRAINT [FK_USERPHONE_USER] FOREIGN KEY([USER_ID])
REFERENCES [dbo].[USERS] ([USERID])
GO
ALTER TABLE [dbo].[USERPHONE] CHECK CONSTRAINT [FK_USERPHONE_USER]
GO