Table of contents. Reverse-engineers a database to Grails domain classes.
|
|
|
- Josephine Walsh
- 10 years ago
- Views:
Transcription
1 Table of contents Reverse-engineers a database to Grails domain classes. 1
2 Database Reverse Engineering Plugin - Reference Documentation Authors: Burt Beckwith Version: Table of Contents 1 Introduction to the DB Reverse Engineering Plugin 1.1 Getting Started 2 Configuration 3 General Usage 4 Tutorial 2
3 1 Introduction to the DB Reverse Engineering Plugin The DB Reverse Engineering plugin reads database table information using JDBC and uses the schema data to create domain classes. This is a complex problem and the plugin is unlikely to get things 100% correct. But it should save you a lot of work and hopefully not require too much tweaking after the domain classes are generated. The plugin uses the Hibernate Tools instead of Java POJOs. library, with custom code to generate GORM domain classes As of version 0.5, the plugin only works with Grails 2.0 and above. Use version 0.3 (not 0.4) for Grails 1.3.x. 1.1 Getting Started The first step is installing the plugin. Add a plugin dependency in BuildConfig.groovy: plugins { runtime ':db-reverse-engineer:0.5.1' There are no required initialization steps but there are some configuration options described in the next section. 3
4 2 Configuration There are several configuration options for the plugin. Core properties These configuration options are the one you're most likely need to set. They include the package name of the generated files ( grails.plugin.reveng.packagename), and information about which side of a many-to-many is the 'belongsto' side ( grails.plugin.reveng.manytomanybelongstos). Property Default Meaning grails.plugin.reveng.packagename grails.plugin.reveng.manytomanybelongstos application name package name for the generated domain classes a Map of join table name -> belongsto table name to specify which of the two domain classes is the 'belongsto' side of the relationship Inclusion/exclusion properties These configuration options let you define which tables and columns to include in processing. By default all tables and columns are processed. If you specify tables to include ( g.p.r.includetables, g.p.r.includetableregexes, and/or g.p.r.includetableantpatterns) then only those will be used. If you specify any of these options then all of the table exclusion options are ignored; this is useful when you have already run the reverse engineer script but want to re-run it for only a subset of tables. If you specify tables to exclude ( g.p.r.excludetables, g.p.r.excludetableregexes, and/or g.p.r.excludetableantpatterns) then any matching tables will be ignored. You can also specify columns to exclude ( g.p.r.excludecolumns, g.p.r.excludecolumnregexes, and/or g.p.r.excludecolumnantpatterns) and any matching columns will be ignored. These options can be used with table include rules or table exclude rules - any tables that are included or not excluded will have their columns included or excludede based on these rules. One addition property, grails.plugin.reveng.manytomanytables, doesn't affect whether a table is processed, but rather determines whether a table that won't look like a many-to-many table to the Hibernate Tools library (because it has more than two columns) is considered a many-to-many table. 4
5 Property grails.plugin.reveng.includetables grails.plugin.reveng.includetableregexes grails.plugin.reveng.includetableantpatterns grails.plugin.reveng.excludetables grails.plugin.reveng.excludetableregexes grails.plugin.reveng.excludetableantpatterns grails.plugin.reveng.excludecolumns grails.plugin.reveng.excludecolumnregexes Default Meaning grails.plugin.reveng.excludecolumnantpatterns grails.plugin.reveng.manytomanytables a List of table names to include for processing a List of table name regex patterns to include for processing a List of table name Ant-style patterns to include for processing a List of table names to exclude from processing a List of table name regex patterns to exclude from processing a List of table name Ant-style patterns to exclude from processing a Map of table name -> List of column names to ignore a Map of table name -> List of column name regex patterns to ignore a Map of table name -> List of column name Ant-style patterns to ignore a List of table names that should be considered many-to-many join tables; needed for join tables that have more columns than the two foreign keys Other properties These remaining configuration options allow you to specify the folder where the domain classes are generated ( g.p.r.destdir), whether to overwrite existing classes ( g.p.r.overwriteexisting) and non-standard 'version' column names ( g.p.r.versioncolumns). There are also properties to set the default schema name ( ) and catalog ( g.p.r.defaultschema g.p.r.defaultcatalog) name which are useful when working with Oracle. 5
6 Property Default Meaning grails.plugin.reveng.destdir grails.plugin.reveng.versioncolumns 'grails-app/domain' grails.plugin.reveng.overwriteexisting true destination folder for the generated classes, relative to the project root a Map of table name -> version column name, for tables with an optimistic locking column that's not named 'version' whether to overwrite existing domain classes grails.plugin.reveng.defaultschema the default database schema name grails.plugin.reveng.defaultcatalog the default database catalog name 6
7 3 General Usage It's most convenient when creating an application to also create the database at the same time. When creating a "greenfield" application like this you can let Hibernate create your tables for you (e.g. using a dbcreate value of create-drop or update). But often the database already exists, and creating GORM domain classes from them can be a tedious process. This plugin will save you a lot of time by using the JDBC metadata API to inspect your database schema and create domain classes for you, using some assumptions and augmented by configuration options that you set. The core of the plugin is the db-reverse-engineer script. There are too many configuration options to support specifying them when running the script, so it takes no arguments and uses configuration options set in grails-app/conf/config.groovy. These are described in section 2. Environments You can choose which database to read from by specifying the environment when running the script (like any Grails script). For example to use the development environment settings, just run grails db-reverse-engineer To use the production environment settings, run grails prod db-reverse-engineer And if you want to use a custom 'staging' environment configured in DataSource.groovy, run grails -Dgrails.env=staging db-reverse-engineer Re-running the reverse engineering script If you have new or changed tables you can re-run the db-reverse-engineer script to pick up changes and additions. This is not an incremental process though, so existing classes will be overwritten and you will lose any changes you made since the last run. But it's simple to define which tables to include or exclude. As described in section 2, you can use a combination of the grails.plugin.reveng.includetables, grails.plugin.reveng.includetableregexes, grails.plugin.reveng.includetableantpatterns, grails.plugin.reveng.excludetables, grails.plugin.reveng.excludetableregexes, and grails.plugin.reveng.excludetableantpatterns properties to define which tables to include or exclude. 7
8 By default all tables are included, and the plugin assumes you're more likely to exclude than include. So you can specify one or more table names to explicitly exclude using grails.plugin.reveng.excludetables, one or more regex patterns for exclusion using grails.plugin.reveng.excludetableregexes, and one or more Ant-style patterns for exclusion using grails.plugin.reveng.excludetableantpatterns. For example, using this configuration grails.plugin.reveng.excludetables = ['clickstream', 'error_log'] grails.plugin.reveng.excludetableregexes = ['temp.+'] grails.plugin.reveng.excludetableantpatterns = ['audit_*'] you would process all tables except clickstream and error_log, and any tables that start with 'temp' (e.g. tempperson, temporganization, etc.) and any tables that start with 'audit_' (e.g. 'audit_orders', 'audit_order_items', etc.) If you only want to include one or a few tables, it's more convenient to specify inclusion rules rather than exclusion rules, so you use grails.plugin.reveng.includetables, grails.plugin.reveng.includetableregexes, and grails.plugin.reveng.includetableantpatterns for that. If any of these properties are set, the table exclusion rules are ignored. For example, using this configuration grails.plugin.reveng.includetables = ['person', 'organization'] you would process (or re-process) just the person and organization tables. You can also use The grails.plugin.reveng.includetableregexes and grails.plugin.reveng.includetableantpatterns properties to include tables based on patterns. You can further customize the process by specifying which columns to exclude per-table. For example, this configuration grails.plugin.reveng.excludecolumns = ['some_table': ['col1', 'col2'], 'another_table': ['another_column']] will exclude columns col1 and col2 from table some_table, and column another_column from table another_table. You can also use the grails.plugin.reveng.excludecolumnregexes and grails.plugin.reveng.excludecolumnantpatterns properties to define patterns for columns to exclude. Destination folder By default the domain classes are generated under the grails-app/domain folder in the package specified. But you can override the destination, for example if you're re-running the process and want to compare the new classes with the previous ones. 8
9 By default the db-reverse-engineer script will overwrite existing classes. You can set the grails.plugin.reveng.overwriteexisting property to false to override this behavior and not overwrite existing files. Many-to-many tables Typically many-to-many relationships are implemented using a join table which contains just two columns which are foreign keys referring to the two related tables. It's possible for join tables to have extra columns though, and this will cause problems when trying to infer relationships. By default Hibernate will only consider tables that have two foreign key columns to be join tables. To get the script to correctly use join tables with extra columns, you can specify the table names with the grails.plugin.reveng.manytomanytables property. This is demonstrated in the tutorial. Another problem with many-to-many relationships is that one of the two GORM classes needs to be the 'owning' side and the other needs to be the 'owned' side, but this cannot be reliably inferred from the database. Both classes need a hasmany declaration, but the 'owned' domain class also needs a belongsto declaration. So all of your many-to-many related tables need to have the tables that will create the belongsto classes specified in the grails.plugin.reveng.manytomanybelongstos property. This is demonstrated in the tutorial. Optimistic locking columns Hibernate assumes that columns used for optimistic lock detection are called version. If you have customized one or more column names, you can direct the script about what the custom names are with the grails.plugin.reveng.versioncolumns property. This is demonstrated in the tutorial. Logging All of the plugin classes are in the grails.plugin.reveng package for logging to see generated messages. package, so you can configure that 9
10 4 Tutorial In this tutorial we'll create a MySQL database and generate domain classes from it. 1. Create your Grails application. $ grails create-app reveng-test $ cd reveng-test 2. Install the plugin. $ grails install-plugin db-reverse-engineer 3. Configure the development environment for MySQL. Set these property values in the development section of grails-app/conf/datasource.groovy datasource { url = 'jdbc:mysql://localhost/reveng' driverclassname = 'com.mysql.jdbc.driver' username = 'reveng' password = 'reveng' dialect = org.hibernate.dialect.mysql5innodbdialect Also add a dependency for the MySQL JDBC driver in grails-app/conf/buildconfig.groovy: dependencies { runtime 'mysql:mysql-connector-java:5.1.33' and be sure to uncomment the mavencentral() repo: repositories { grailsplugins() grailshome() grailscentral() mavencentral() 4. Create the database. 10
11 As the root user or another user that has rights to create a database and configure grants, run create database reveng; grant all on reveng.* to reveng@localhost identified by 'reveng'; 5. Create the database tables. Run these create and alter statements in the reveng database: use reveng; create table author ( name varchar(255) not null, create table author_books ( author_id bigint not null, book_id bigint not null, primary key (author_id, book_id) create table book ( title varchar(255) not null, create table compos ( first_name varchar(255) not null, last_name varchar(255) not null, other varchar(255) not null, primary key (first_name, last_name) create table compound_unique ( prop1 varchar(255) not null, prop2 varchar(255) not null, prop3 varchar(255) not null, prop4 varchar(255) not null, prop5 varchar(255) not null,, unique (prop4, prop3, prop2) create table library ( name varchar(255) not null, create table other ( username varchar(255) not null, nonstandard_version_name bigint not null, primary key (username) 11
12 create table role ( authority varchar(255) not null unique, create table thing ( thing_ varchar(255) not null unique, float_value float not null, name varchar(123), primary key (thing_id) create table user ( account_expired bit not null, account_locked bit not null, enabled bit not null, password varchar(255) not null, password_expired bit not null, username varchar(255) not null unique, create table user_role ( role_id bigint not null, user_id bigint not null, date_updated datetime not null, primary key (role_id, user_id) create table visit ( library_id bigint not null, person varchar(255) not null, visit_date datetime not null, alter table author_books add index FK24C812F63FA913A (book_id), add constraint FK24C812F63FA913A foreign key (book_id) references book (id); alter table author_books add index FK24C812F6CD85EDFA (author_id), add constraint FK24C812F6CD85EDFA foreign key (author_id) references author (id); alter table user_role add index FK143BF46A52388A1A (role_id), add constraint FK143BF46A52388A1A foreign key (role_id) references role (id); alter table user_role add index FK143BF46AF7634DFA (user_id), add constraint FK143BF46AF7634DFA foreign key (user_id) references user (id); alter table visit add index FK6B04D4B4AEC8BBA (library_id), add constraint FK6B04D4B4AEC8BBA foreign key (library_id) references library (id); 6. Configure the reverse engineering process. Add these configuration options to grails-app/conf/config.groovy: grails.plugin.reveng.packagename = 'com.revengtest' grails.plugin.reveng.versioncolumns = [other: 'nonstandard_version_name'] grails.plugin.reveng.manytomanytables = ['user_role'] grails.plugin.reveng.manytomanybelongstos = ['user_role': 'role', 'author_books': 'book'] 12
13 7. Run the db-reverse-engineer script. grails db-reverse-engineer 8. Look at the generated domain classes. Author and Book domain classes. The author and book tables have a many-to-many relationship, which uses the author_books join table: create table author ( name varchar(255) not null, create table author_books ( author_id bigint not null, book_id bigint not null, primary key (author_id, book_id) create table book ( title varchar(255) not null, alter table author_books add index FK24C812F63FA913A (book_id), add constraint FK24C812F63FA913A foreign key (book_id) references book (id); alter table author_books add index FK24C812F6CD85EDFA (author_id), add constraint FK24C812F6CD85EDFA foreign key (author_id) references author (id); After running the script you'll have classes similar to these (I've removed empty constraints blocks): mapping and class Author { String name static hasmany = [books: Book] and class Book { String title static hasmany = [authors: Author] static belongsto = Author 13
14 Book has the line static belongsto = Author because we specified this in Config.groovy with the grails.plugin.reveng.manytomanybelongstos property. Compos domain class. The compos table has a composite primary key (made up of the first_name and last_name columns): create table compos ( first_name varchar(255) not null, last_name varchar(255) not null, other varchar(255) not null, primary key (first_name, last_name) and it generates this domain class: import org.apache.commons.lang.builder.equalsbuilder import org.apache.commons.lang.builder.hashcodebuilder class Compos implements Serializable { String firstname String lastname String other int hashcode() { def builder = new HashCodeBuilder() builder.append firstname builder.append lastname builder.tohashcode() boolean equals(other) { if (other == null) return false def builder = new EqualsBuilder() builder.append firstname, other.firstname builder.append lastname, other.lastname builder.isequals() static mapping = { id composite: ["firstname", "lastname"] Since it has a composite primary key, the class is its own primary key so it has to implement Serializable and implement hashcode and equals. CompoundUnique domain class. The compound_unique table has five properties, three of which are in a compound unique index: 14
15 create table compound_unique ( prop1 varchar(255) not null, prop2 varchar(255) not null, prop3 varchar(255) not null, prop4 varchar(255) not null, prop5 varchar(255) not null,, unique (prop4, prop3, prop2) and it generates this domain class: class CompoundUnique { String prop1 String prop2 String prop3 String prop4 String prop5 static constraints = { prop2 unique: ["prop3", "prop4"] Library and Visit domain classes. The library and visit tables have a one-to-many relationship: create table library ( name varchar(255) not null, create table visit ( library_id bigint not null, person varchar(255) not null, visit_date datetime not null, alter table visit add index FK6B04D4B4AEC8BBA (library_id), add constraint FK6B04D4B4AEC8BBA foreign key (library_id) references library (id); and they generate these domain classes: class Library { String name static hasmany = [visits: Visit] 15
16 class Visit { String person Date visitdate static belongsto = [library: Library] static mapping = { version false visit has no version column, so the Visit has optimistic lock checking disabled ( version false). Other domain class. The other table has a string primary key, and an optimistic locking column that's not named version. Since we configured this with the grails.plugin.reveng.versioncolumns property, the column is resolved correctly: create table other ( username varchar(255) not null, nonstandard_version_name bigint not null, primary key (username) class Other { String username static mapping = { id name: "username", generator: "assigned" version "nonstandard_version_name" User and Role domain classes. The user and role tables have a many-to-many relationship, which uses the user_role join table: 16
17 create table role ( authority varchar(255) not null unique, create table user ( account_expired bit not null, account_locked bit not null, enabled bit not null, password varchar(255) not null, password_expired bit not null, username varchar(255) not null unique, create table user_role ( role_id bigint not null, user_id bigint not null, date_updated datetime not null, primary key (role_id, user_id) alter table user_role add index FK143BF46A52388A1A (role_id), add constraint FK143BF46A52388A1A foreign key (role_id) references role (id); alter table user_role add index FK143BF46AF7634DFA (user_id), add constraint FK143BF46AF7634DFA foreign key (user_id) references user (id); The user_role table has an extra column ( date_updated) and would be ignored by default, but since we configured it with the grails.plugin.reveng.manytomanytables property it's resolved correctly: class Role { String authority static hasmany = [users: User] static belongsto = User static constraints = { authority unique: true class User { boolean accountexpired boolean accountlocked boolean enabled String password boolean passwordexpired String username static hasmany = [roles: Role] static constraints = { username unique: true 17
18 Thing domain class. The thing table has a non-standard primary key column ( thing_id) and a unique constraint on the column. The name column is nullable, and is defined as varchar(123) : create table thing ( thing_ varchar(255) not null unique, float_value float not null, name varchar(123), primary key (thing_id) and it generates this domain class: class Thing { String float floatvalue String name static mapping = { id column: "thing_id" static constraints = { unique: true name nullable: true, maxsize: Update a table and re-run the script. Add a new column to the thing table: alter table thing add new_column boolean; We'll re-run the script but need to configure it to generate the updated domain class in a different directory from the default so we can compare with the original. To configure this, set the value of the grails.plugin.reveng.destdir property in grails-app/conf/config.groovy: grails.plugin.reveng.destdir = 'temp_reverse_engineer' Also change the configuration to only include the thing table: grails.plugin.reveng.includetables = ['thing'] Re-eun the db-reverse-engineer script: 18
19 grails db-reverse-engineer The script will generate this domain class in the temp_reverse_engineer/com/revengtest folder: class Thing { String Float floatvalue String name Boolean newcolumn static mapping = { id column: "thing_id" static constraints = { unique: true name nullable: true, maxsize: 123 newcolumn nullable: true The domain class has a new Boolean newcolumn field and a nullable constraint. Since this generated the correct changes it's safe to move replace the previous domain class with this one. 19
Database Migration Plugin - Reference Documentation
Grails Database Migration Plugin Database Migration Plugin - Reference Documentation Authors: Burt Beckwith Version: 1.4.0 Table of Contents 1 Introduction to the Database Migration Plugin 1.1 History
Clustering a Grails Application for Scalability and Availability
Clustering a Grails Application for Scalability and Availability Groovy & Grails exchange 9th December 2009 Burt Beckwith My Background Java Developer for over 10 years Background in Spring, Hibernate,
Grails - Rapid Web Application Development for the Java Platform
Grails - Rapid Web Application Development for the Java Platform Mischa Kölliker Guido Schmutz Zürich, 24.06.2008 Basel Baden Bern Lausanne Zurich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg Munich
A Brief Introduction to MySQL
A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term
Unified access to all your data points. with Apache MetaModel
Unified access to all your data points with Apache MetaModel Who am I? Kasper Sørensen, dad, geek, guitarist @kaspersor Long-time developer and PMC member of: Founder also of another nice open source project:
SpagoBI exo Tomcat Installation Manual
SpagoBI exo Tomcat Installation Manual Authors Luca Fiscato Andrea Zoppello Davide Serbetto Review Grazia Cazzin SpagoBI exo Tomcat Installation Manual ver 1.3 May, 18 th 2006 pag. 1 of 8 Index 1 VERSION...3
Oracle Database 10g Express
Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives
Create a Database Driven Application
Create a Database Driven Application Prerequisites: You will need a Bluemix account and an IBM DevOps Services account to complete this project. Please review the Registration sushi card for these steps.
AWS Schema Conversion Tool. User Guide Version 1.0
AWS Schema Conversion Tool User Guide AWS Schema Conversion Tool: User Guide Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may
How To Use The Jobscheduler On A Linux Box 2.5.2.2 (Jid) On A Pcode (Jio) Or Macbook 2.2 On A Microsoft Powerbook 2 (For A Freebie
JobScheduler - Job Execution and Scheduling System JobScheduler Information Dashboard Work Plan and History March 2015 March 2015 JobScheduler page: 1 JobScheduler - Contact Information Contact Information
SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7
SQL DATA DEFINITION: KEY CONSTRAINTS CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7 Data Definition 2 Covered most of SQL data manipulation operations Continue exploration of SQL
Brekeke SIP Server Version 3 Using a Third-Party Database Tutorial Brekeke Software, Inc.
Brekeke SIP Server Version 3 Using a Third-Party Database Tutorial Brekeke Software, Inc. Version Brekeke SIP Server v3 Using a third-party Database Tutorial Revised October, 2015 Copyright This document
FileMaker 12. ODBC and JDBC Guide
FileMaker 12 ODBC and JDBC Guide 2004 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
Copyright 2013 Consona Corporation. All rights reserved www.compiere.com
COMPIERE 3.8.1 SOAP FRAMEWORK Copyright 2013 Consona Corporation. All rights reserved www.compiere.com Table of Contents Compiere SOAP API... 3 Accessing Compiere SOAP... 3 Generate Java Compiere SOAP
Talend for Data Integration guide
Talend for Data Integration guide Table of Contents Introduction...2 About the author...2 Download, install and run...2 The first project...3 Set up a new project...3 Create a new Job...4 Execute the job...7
Spring Data JDBC Extensions Reference Documentation
Reference Documentation ThomasRisberg Copyright 2008-2015The original authors Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee
Doing database design with MySQL
Doing database design with MySQL Jerzy Letkowski Western New England University ABSTRACT Most of the database textbooks, targeting database design and implementation for information systems curricula support
Package sjdbc. R topics documented: February 20, 2015
Package sjdbc February 20, 2015 Version 1.5.0-71 Title JDBC Driver Interface Author TIBCO Software Inc. Maintainer Stephen Kaluzny Provides a database-independent JDBC interface. License
Building Dynamic Web 2.0 Websites with Ruby on Rails
Building Dynamic Web 2.0 Websites with Ruby on Rails Create database-driven dynamic websites with this open-source web application framework A.P. Rajshekhar Chapter 5 "Gathering User Comments" In this
How To Create A Table In Sql 2.5.2.2 (Ahem)
Database Systems Unit 5 Database Implementation: SQL Data Definition Language Learning Goals In this unit you will learn how to transfer a logical data model into a physical database, how to extend or
SQL Server An Overview
SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system
ODBC Client Driver Help. 2015 Kepware, Inc.
2015 Kepware, Inc. 2 Table of Contents Table of Contents 2 4 Overview 4 External Dependencies 4 Driver Setup 5 Data Source Settings 5 Data Source Setup 6 Data Source Access Methods 13 Fixed Table 14 Table
Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 03 (Nebenfach)
Mul$media im Netz (Online Mul$media) Wintersemester 2014/15 Übung 03 (Nebenfach) Online Mul?media WS 2014/15 - Übung 3-1 Databases and SQL Data can be stored permanently in databases There are a number
CSCI110 Exercise 4: Database - MySQL
CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but
2. Boot using the Debian Net Install cd and when prompted to continue type "linux26", this will load the 2.6 kernel
These are the steps to build a hylafax server. 1. Build up your server hardware, preferably with RAID 5 (3 drives) plus 1 hotspare. Use a 3ware raid card, 8000 series is a good choice. Use an external
Docker Java Application with Solr, Mongo, & Cassandra: Design, Deployment, Service Discovery, and Management in Production
Docker Java Application with Solr, Mongo, & Cassandra: Design, Deployment, Service Discovery, and Management in Production You can clone this sample Names Directory Java application from GitHub. git clone
Microsoft Dynamics CRM Security Provider Module
Microsoft Dynamics CRM Security Provider Module for Sitecore 6.6-8.0 CRM Security Provider Rev: 2015-04-15 Microsoft Dynamics CRM Security Provider Module for Sitecore 6.6-8.0 Developer's Guide A developer's
FileMaker 13. ODBC and JDBC Guide
FileMaker 13 ODBC and JDBC Guide 2004 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
Java and RDBMS. Married with issues. Database constraints
Java and RDBMS Married with issues Database constraints Speaker Jeroen van Schagen Situation Java Application store retrieve JDBC Relational Database JDBC Java Database Connectivity Data Access API ( java.sql,
Coveo Platform 7.0. Oracle Knowledge Connector Guide
Coveo Platform 7.0 Oracle Knowledge Connector Guide Notice The content in this document represents the current view of Coveo as of the date of publication. Because Coveo continually responds to changing
Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.
& & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows
Architecting the Future of Big Data
Hive ODBC Driver User Guide Revised: July 22, 2013 2012-2013 Hortonworks Inc. All Rights Reserved. Parts of this Program and Documentation include proprietary software and content that is copyrighted and
A Migration Methodology of Transferring Database Structures and Data
A Migration Methodology of Transferring Database Structures and Data Database migration is needed occasionally when copying contents of a database or subset to another DBMS instance, perhaps due to changing
Install BA Server with Your Own BA Repository
Install BA Server with Your Own BA Repository This document supports Pentaho Business Analytics Suite 5.0 GA and Pentaho Data Integration 5.0 GA, documentation revision February 3, 2014, copyright 2014
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3 Often the most compelling way to introduce yourself to a software product is to try deliver value as soon as possible. Simego DS3 is designed to get you
Using ODBC with MDaemon 6.5
Using ODBC with MDaemon 6.5 Alt-N Technologies, Ltd 1179 Corporate Drive West, #103 Arlington, TX 76006 Tel: (817) 652-0204 2002 Alt-N Technologies. All rights reserved. Other product and company names
The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala 2.5.30, as well as the version history.
Cloudera ODBC Driver for Impala 2.5.30 The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala 2.5.30, as well as the version history. The following are highlights
Table of contents. Jasig CAS support for the Spring Security plugin.
Table of contents Jasig CAS support for the Spring Security plugin. 1 Spring Security ACL Plugin - Reference Documentation Authors: Burt Beckwith Version: 1.0.4 Table of Contents 1 Introduction 1.1 History
Relational Database Concepts
Relational Database Concepts IBM Information Management Cloud Computing Center of Competence IBM Canada Labs 1 2011 IBM Corporation Agenda Overview Information and Data Models The relational model Entity-Relationship
Once the schema has been designed, it can be implemented in the RDBMS.
2. Creating a database Designing the database schema... 1 Representing Classes, Attributes and Objects... 2 Data types... 5 Additional constraints... 6 Choosing the right fields... 7 Implementing a table
Customer Bank Account Management System Technical Specification Document
Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6
Witango Application Server 6. Installation Guide for OS X
Witango Application Server 6 Installation Guide for OS X January 2011 Tronics Software LLC 503 Mountain Ave. Gillette, NJ 07933 USA Telephone: (570) 647 4370 Email: [email protected] Web: www.witango.com
Data Migration from Magento 1 to Magento 2 Including ParadoxLabs Authorize.Net CIM Plugin Last Updated Jan 4, 2016
Data Migration from Magento 1 to Magento 2 Including ParadoxLabs Authorize.Net CIM Plugin Last Updated Jan 4, 2016 This guide was contributed by a community developer for your benefit. Background Magento
WSO2 Business Process Server Clustering Guide for 3.2.0
WSO2 Business Process Server Clustering Guide for 3.2.0 Throughout this document we would refer to WSO2 Business Process server as BPS. Cluster Architecture Server clustering is done mainly in order to
EDI Process Specification
EDI Batch Process CONTENTS 1 Purpose...3 1.1 Use Case EDI service...3 1.2 Use Case EDI Daily Reporting...3 1.3 Use Case EDI Service Monitoring Process...3 2 EDI Process Design High Level...4 2.1 EDI Batch
ITG Software Engineering
IBM WebSphere Administration 8.5 Course ID: Page 1 Last Updated 12/15/2014 WebSphere Administration 8.5 Course Overview: This 5 Day course will cover the administration and configuration of WebSphere 8.5.
DBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems [email protected] Santa Clara, April 12, 2010
DBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems [email protected] Santa Clara, April 12, 2010 Certification Details http://www.mysql.com/certification/ Registration at Conference Closed Book
DataFlex Connectivity Kit For ODBC User's Guide. Version 2.2
DataFlex Connectivity Kit For ODBC User's Guide Version 2.2 Newsgroup: news://dataaccess.com/dac-public-newsgroups.connectivity- Kit_Support Internet Address (URL): http://www.dataaccess.com FTP Site:
Interfacing Fedora with Microsoft SQL Server
Interfacing Fedora with Microsoft SQL Server David Handy - Developer Wayne Simpson - Software Architect/Engineer Technology Enhancement and Software Services Idaho National Laboratory 1 - Introduction
SnapLogic Salesforce Snap Reference
SnapLogic Salesforce Snap Reference Document Release: October 2012 SnapLogic, Inc. 71 East Third Avenue San Mateo, California 94401 U.S.A. www.snaplogic.com Copyright Information 2012 SnapLogic, Inc. All
Developing SQL and PL/SQL with JDeveloper
Seite 1 von 23 Developing SQL and PL/SQL with JDeveloper Oracle JDeveloper 10g Preview Technologies used: SQL, PL/SQL An Oracle JDeveloper Tutorial September 2003 Content This tutorial walks through the
Identity Management Administrator Guide
IMS Developer Guide Common Environment - Identity Management component Identity Management Administrator Guide Version 3.2.2 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N.
New Features... 1 Installation... 3 Upgrade Changes... 3 Fixed Limitations... 4 Known Limitations... 5 Informatica Global Customer Support...
Informatica Corporation B2B Data Exchange Version 9.5.0 Release Notes June 2012 Copyright (c) 2006-2012 Informatica Corporation. All rights reserved. Contents New Features... 1 Installation... 3 Upgrade
OpenReports: Users Guide
OpenReports: Users Guide Author: Erik Swenson Company: Open Source Software Solutions Revision: Revision: 1.3 Last Modified: Date: 05/24/2004 1 Open Source Software Solutions Table Of Contents 1. Introduction...
D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:
D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led
1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience...
Slice Documentation Slice Documentation 1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience... 1 2. Features
Grails 1.1. Web Application. Development. Reclaiming Productivity for Faster. Java Web Development. Jon Dickinson PUBLISHING J MUMBAI BIRMINGHAM
Grails 1.1 Development Web Application Reclaiming Productivity for Faster Java Web Development Jon Dickinson PUBLISHING J BIRMINGHAM - MUMBAI Preface Chapter 1: Getting Started with Grails 7 Why Grails?
000-420. IBM InfoSphere MDM Server v9.0. Version: Demo. Page <<1/11>>
000-420 IBM InfoSphere MDM Server v9.0 Version: Demo Page 1. As part of a maintenance team for an InfoSphere MDM Server implementation, you are investigating the "EndDate must be after StartDate"
Data Warehouse and Hive. Presented By: Shalva Gelenidze Supervisor: Nodar Momtselidze
Data Warehouse and Hive Presented By: Shalva Gelenidze Supervisor: Nodar Momtselidze Decision support systems Decision Support Systems allowed managers, supervisors, and executives to once again see the
MS SQL Server Database Management
MS SQL Server Database Management Contents Creating a New MS SQL Database... 2 Connecting to an Existing MS SQL Database... 3 Migrating a GoPrint MS SQL Database... 5 Troubleshooting... 11 Published April
Kony MobileFabric. Sync Windows Installation Manual - WebSphere. On-Premises. Release 6.5. Document Relevance and Accuracy
Kony MobileFabric Sync Windows Installation Manual - WebSphere On-Premises Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and
Reverse Engineering in Data Integration Software
Database Systems Journal vol. IV, no. 1/2013 11 Reverse Engineering in Data Integration Software Vlad DIACONITA The Bucharest Academy of Economic Studies [email protected] Integrated applications
To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server 2008.
Znode Multifront - Installation Guide Version 6.2 1 System Requirements To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server
Using EMC Documentum with Adobe LiveCycle ES
Technical Guide Using EMC Documentum with Adobe LiveCycle ES Table of contents 1 Deployment 3 Managing LiveCycle ES development assets in Documentum 5 Developing LiveCycle applications with contents in
CA Workload Automation Agent for Databases
CA Workload Automation Agent for Databases Implementation Guide r11.3.4 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the
IBM Business Monitor Version 7.5.0. IBM Business Monitor Installation Guide
IBM Business Monitor Version 7.5.0 IBM Business Monitor Installation Guide ii Installing Contents Chapter 1. Installing IBM Business Monitor............... 1 Chapter 2. Planning to install IBM Business
FILESURF 7.5 SR3/WORKSITE INTEGRATION INSTALLATION MANUAL 1 PRELIMINARIES...3 STEP 1 - PLAN THE FIELD MAPPING...3 STEP 2 - WORKSITE CONFIGURATION...
FILESURF 7.5 SR3/WORKSITE INTEGRATION 1 PRELIMINARIES...3 Prerequisites... 3 The FILESURFAdmin User Domain Account Required... 3 STEP 1 - PLAN THE FIELD MAPPING...3 Plan Which WorkSite Fields Will Carry
CUT YOUR GRAILS APPLICATION TO PIECES
CUT YOUR GRAILS APPLICATION TO PIECES BUILD FEATURE PLUGINS Göran Ehrsson Technipelago AB @goeh Göran Ehrsson, @goeh From Stockholm, Sweden 25+ years as developer Founded Technipelago AB Grails enthusiast
Introduction This document s purpose is to define Microsoft SQL server database design standards.
Introduction This document s purpose is to define Microsoft SQL server database design standards. The database being developed or changed should be depicted in an ERD (Entity Relationship Diagram). The
User Replicator USER S GUIDE
User Replicator USER S GUIDE Contents 1. Introduction... 2 1.1. User Replicator requirements... 2 2. Creating users in Learning Center from the Active Directory... 3 2.1. Process File... 3 2.2 Users Mappings...
FileMaker 11. ODBC and JDBC Guide
FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
Using Netbeans and the Derby Database for Projects Contents
Using Netbeans and the Derby Database for Projects Contents 1. Prerequisites 2. Creating a Derby Database in Netbeans a. Accessing services b. Creating a database c. Making a connection d. Creating tables
Getting Started with Telerik Data Access. Contents
Contents Overview... 3 Product Installation... 3 Building a Domain Model... 5 Database-First (Reverse) Mapping... 5 Creating the Project... 6 Creating Entities From the Database Schema... 7 Model-First
Integrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
Intruduction to Groovy & Grails programming languages beyond Java
Intruduction to Groovy & Grails programming languages beyond Java 1 Groovy, what is it? Groovy is a relatively new agile dynamic language for the Java platform exists since 2004 belongs to the family of
Using SQL Server Management Studio
Using SQL Server Management Studio Microsoft SQL Server Management Studio 2005 is a graphical tool for database designer or programmer. With SQL Server Management Studio 2005 you can: Create databases
Setting up the Oracle Warehouse Builder Project. Topics. Overview. Purpose
Setting up the Oracle Warehouse Builder Project Purpose In this tutorial, you setup and configure the project environment for Oracle Warehouse Builder 10g Release 2. You create a Warehouse Builder repository
Logi Ad Hoc Reporting System Administration Guide
Logi Ad Hoc Reporting System Administration Guide Version 11.2 Last Updated: March 2014 Page 2 Table of Contents INTRODUCTION... 4 Target Audience... 4 Application Architecture... 5 Document Overview...
DbSchema Tutorial with Introduction in MongoDB
DbSchema Tutorial with Introduction in MongoDB Contents MySql vs MongoDb... 2 Connect to MongoDb... 4 Insert and Query Data... 5 A Schema for MongoDb?... 7 Relational Data Browse... 8 Virtual Relations...
ER/Studio 8.0 New Features Guide
ER/Studio 8.0 New Features Guide Copyright 1994-2008 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. All rights reserved.
Talend Component tgoogleanalyticsmanagement
Talend Component tgoogleanalyticsmanagement Purpose This component addresses the needs of gathering Google Analytics data for a large number of profiles and fine-grained detail data. To prepare the queries
Online Backup Client User Manual
For Mac OS X Software version 4.1.7 Version 2.2 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by other means.
PostgreSQL Audit Extension User Guide Version 1.0beta. Open Source PostgreSQL Audit Logging
Version 1.0beta Open Source PostgreSQL Audit Logging TABLE OF CONTENTS Table of Contents 1 Introduction 2 2 Why pgaudit? 3 3 Usage Considerations 4 4 Installation 5 5 Settings 6 5.1 pgaudit.log............................................
Setting up SQL Translation Framework OBE for Database 12cR1
Setting up SQL Translation Framework OBE for Database 12cR1 Overview Purpose This tutorial shows you how to use have an environment ready to demo the new Oracle Database 12c feature, SQL Translation Framework,
Script-controlled Backups in SAP HANA Database
Script-controlled Backups in SAP HANA Database Documentation of a template shell script for controlling backup execution Richard Bremer, SAP Customer Solution Adoption (CSA) Data Backups in SAP HANA Database
Geodatabase Programming with SQL
DevSummit DC February 11, 2015 Washington, DC Geodatabase Programming with SQL Craig Gillgrass Assumptions Basic knowledge of SQL and relational databases Basic knowledge of the Geodatabase We ll hold
Using DOTS as Apache Derby System Test
Using DOTS as Apache Derby System Test Date: 02/16/2005 Author: Ramandeep Kaur [email protected] Table of Contents 1 Introduction... 3 2 DOTS Overview... 3 3 Running DOTS... 4 4 Issues/Tips/Hints... 6 5
Role Based Access Control. Using PHP Sessions
Role Based Access Control Using PHP Sessions Session Developed in PHP to store client data on the web server, but keep a single session ID on the client machine (cookie) The session ID : identifies the
CatDV Pro Workgroup Serve r
Architectural Overview CatDV Pro Workgroup Server Square Box Systems Ltd May 2003 The CatDV Pro client application is a standalone desktop application, providing video logging and media cataloging capability
Oracle Data Integrator integration with OBIEE
Oracle Data Integrator integration with OBIEE February 26, 2010 1:20 2:00 PM Presented By Phani Kottapalli [email protected] 1 Agenda Introduction to ODI Architecture Installation Repository
Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is
Chris Panayiotou Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is the current buzz in the web development
AWS Schema Conversion Tool. User Guide Version 1.0
AWS Schema Conversion Tool User Guide AWS Schema Conversion Tool: User Guide Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may
HR Onboarding Solution
HR Onboarding Solution Installation and Setup Guide Version: 3.0.x Compatible with ImageNow Version: 6.7.x Written by: Product Documentation, R&D Date: November 2014 2014 Perceptive Software. All rights
Wave Analytics Data Integration
Wave Analytics Data Integration Salesforce, Spring 16 @salesforcedocs Last updated: April 28, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of
OTN Developer Day Enterprise Java. Hands on Lab Manual JPA 2.0 and Object Relational Mapping Basics
OTN Developer Day Enterprise Java Hands on Lab Manual JPA 2.0 and Object Relational Mapping Basics I want to improve the performance of my application... Can I copy Java code to an HTML Extension? I coded
Catalog Web service and catalog commerce management center customization
Copyright IBM Corporation 2008 All rights reserved IBM WebSphere Commerce Feature Pack 3.01 Lab exercise Catalog Web service and catalog commerce management center customization What this exercise is about...
