Connectivity in DataFlex 19.0

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
COM vs. CORBA.
Stored procedures and views You can see definitions for stored procedures and views in the demo databases but you can’t change them. For views, expand.
Oracle9i Database Administrator: Implementation and Administration 1 Chapter 2 Overview of Database Administrator (DBA) Tools.
Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Standardizing Application.
Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Building Great Looking.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Toolbox Mirror -Overview Effective Distributed Learning.
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
1 Chapter 12 Working With Access 2000 on the Internet.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
6.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
Advanced Object-Oriented Programming Features
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Chapter 10 Overview  Implement Microsoft Windows Authentication Mode and Mixed Mode  Assign login accounts to database user accounts and roles  Assign.
2007 Microsoft Office System Client/Server Capabilities Client/server capabilities of Microsoft Office Professional Enterprise Edition 2003 compared to.
Discover, Master, InfluenceSlide 1 SQL Server Compact Edition and the Entity Framework Rob Sanders Readify.
Virtual techdays INDIA │ august 2010 Building ASP.NET applications using SQL Server Compact Chaitanya Solapurkar │ Partner Technical Consultant,
1 Client/Server Database Tutorial. SQL Server Connection through MS Access FACBUSAD1 SQL server MS Access MGD B106 Computer or your own PC Remote SQL.
The Client/Server Database Environment
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
ODBC Unplugged: What’s New in the DataFlex Connectivity Kit for ODBC? John Kramel Senior Consultant Data Access Corporation.
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
Overview of SQL Server Alka Arora.
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
MaxExchange Install and Configuration. Background Information  Major changes to MaxExchange for SQL versions:  Switch to SQL Server Express database.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team
ADO.NET A2 Teacher Up skilling LECTURE 3. What’s to come today? ADO.NET What is ADO.NET? ADO.NET Objects SqlConnection SqlCommand SqlDataReader DataSet.
June 6 th – 8 th 2005 Deployment Tool Set Synergy 2005.
Tom Castiglia Hershey Technologies
DataFlex Connectivity Kit for Pervasive.SQL Eddy Kleinjan.
Permissions Lesson 13. Skills Matrix Security Modes Maintaining data integrity involves creating users, controlling their access and limiting their ability.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
IBM DB2 Universal Database For DataFlex Released in April 1999.
Mirek Sztajno SQL Server Security PM
EbiTrack Architecture Version 1.0 September 24, 2012.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida Table Types and Programming Styles John.
Learningcomputer.com SQL Server 2008 –Views, Functions and Stored Procedures.
The business logic engine for Microsoft IIS Speaker T.M. Arnett.
SQL Server 2005 Implementation and Maintenance Chapter 6: Security and SQL Server 2005.
Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Product Roadmap John.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Module 5: Managing Content. Overview Publishing Content Executing Reports Creating Cached Instances Creating Snapshots and Report History Creating Subscriptions.
Introduction to SQL Server  Working with MS SQL Server and SQL Server Management Studio.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
Progress Apama Fundamentals
Integrating Data Lesson 6.
ASP.NET Programming with C# and SQL Server First Edition
Introducing the Windows Mobile development
SQL Environment.
IST 220 – Intro to Databases
Web Routing Designing an Interface
JDBC Database Management Database connectivity
PLM, Document and Workflow Management
The Client/Server Database Environment
Beyond the BDC\BCS Model
Created by Kamila zhakupova
Chapter 9: The Client/Server Database Environment
Migrating Oracle Forms Using Oracle Application Express
Using Groove Philip S. Vavalides Professor - IT/Networking Guilford Technical Community College Jamestown, NC.
Database Fundamentals
Oracle Architecture Overview
Lecture 1: Multi-tier Architecture Overview
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Visual Extend Multi-Client support
Presentation transcript:

Connectivity in DataFlex 19.0 John Tuohy

Improved Indexing Support

Indexes Unlike the embedded database, SQL can (and will) order data with as much (or as little) of an index as exists (even none) DataFlex 19.0 provides support for full, client and server-only indexes Server = exits on server, defined in .int file, requires restructure Client Only = defined in .int only, requires .int update Server Only = exists on server, not defined in .int, not usually changed Easy to manage indexes in the Studio Provides the basis for runtime temporary indexes

Runtime Temporary Indexes Index creation supported through database API (required restructure on server) Client-side indexes removed the need for a table restructure (.int only) We used the same capability to support indexes that are not stored in the .int file and only exist at runtime Uses the same interface, but not within a structure_start / structure_end Create_Index Set_Attribute DF_INDEX_NUMBER_SEGMENTS Set_Attribute DF_INDEX_SEGMENT_FIELD Set_Attribute DF_INDEX_SEGMENT_DIRECTION Delete_Index

Runtime Temporary Indexes // create a temporary index for State x City x Customer and return its Index handle Function StateCityOrdering Returns Integer     Handle hTable     Integer iIndex     Move Customer.File_Number to htable       Create_Index hTable at iIndex             Set_Attribute DF_INDEX_NUMBER_SEGMENTS of hTable iIndex to 3     Set_Attribute DF_INDEX_SEGMENT_FIELD of hTable iIndex 1 to (RefTable(Customer.State))     Set_Attribute DF_INDEX_SEGMENT_FIELD of hTable iIndex 2 to (RefTable(Customer.City))     Set_Attribute DF_INDEX_SEGMENT_FIELD of hTable iIndex 3 to (RefTable(Customer.Customer_Number))     Function_Return iIndex End_Function

Runtime Temporary Indexes Procedure StartReport Integer iOrder // use the temporary index Get StateCityOrdering to iOrder Set Ordering of oReport to iOrder Send Run_Report of oReport // delete the temporary index Delete_Index Customer.File_Number iOrder End_Procedure

Convert, Connect, Refresh and Reconnect

Convert, Connect, Refresh and Reconnect Convert is used to convert tables to a different database – usually embedded to SQL Connect is used for existing tables (most likely created outside of DataFlex) that are not yet part of your workspace Refresh is used for tables that are already connected in the workspace but whose definition has changed on the server Reconnect allows options for connected tables in excess of a simple refresh Skip tables already connected Use existing .int files to synchronize the definitions of connected tables Ignore existing .int files but reconnect while reusing the same file number Can be used to switch to managed connection Ids

Managed Connections

Connection Basics Establishing a “connection” is how you access SQL data in your application Specifies the driver, server, database, user credentials and table/schema, for instance… DRIVER_NAME MSSQLDRV SERVER_NAME SERVER=SWM-M3800\SQLEXPRESS;Trusted_Connection=yes;DATABASE=Chinook DATABASE_NAME Album SCHEMA_NAME dbo Defined for each table in your application Located in the .int file for each table Tables can use different connections Connections are also needed when using the tools (Studio, DataBase Builder and Explorer, etc.) and when using Embedded SQL

Connection Ids Connection IDs were introduced to our drivers long ago Connection IDs are simply an abstract way to refer to these connections by Id while defining the actual connection string elsewhere The Connection ID is used in table .int files… DRIVER_NAME MSSQLDRV SERVER_NAME DFCONNID=Chinook DATABASE_NAME Album SCHEMA_NAME dbo Connection Ids were hard to use They were difficult to configure and maintain They were not directly supported by the DataFlex Framework They were not directly supported by the DataFlex tools (Studio, Database Explorer, etc.)

Introducing the cConnection class The cConnection class will handle all connections for DataFlex CLI drivers (6.2 and higher) cConnection is class that creates a single, global object that allows you to Add / edit / remove Connection IDs Use Connection IDs in your table .int files Define connections IDs in a workspace connections .ini file Login to database servers via Connection IDs Make ESQL connections to servers via Connection IDs We refer to these as Managed Connections and they are fully supported (and used) across all the DataFlex tools and the application framework Managed Connections build on existing Connection ID concepts; think of this like “Connection IDs 2.0”

Managed Connections Managed Connections provide a complete interface which includes Defining (Adding / removing / editing) Connection IDs to a workspace Login / logout via Connection IDs Handling credentials, including user name and encrypted password Dynamic switching of connection string definitions while an application is running A very simple, high-level interface for standard usage A complete, lower-level interface for advanced usage Managed Connections make it easier for you to… Change servers/databases when testing Deploy applications Exchange SQL-based workspaces with other developers Managed Connections lay the groundwork for multi-tenant application strategies because they support easily changing servers and databases on the fly

Defining Managed Connections The most typical, (and most simple) use of managed connections will be to store the Connection ID in a connections .ini file The full connection string and credential information is defined in DFConnID.ini (located in the Data folder, file name can be specified at runtime) [connection1] id=Chinook driver=MSSQLDRV connection=SERVER=.\SQLEXPRESS;DATABASE=Chinook trusted_connection=yes The Connection ID is then used in table .int files… DRIVER_NAME MSSQLDRV SERVER_NAME DFCONNID=Chinook DATABASE_NAME Album SCHEMA_NAME dbo

Managed Connections and Database Logins An application needs to login into a database server. Usually this occurs when the application is started is required – if login fails, the application should not be run is silent - it does not require user interaction uses credential information stored with the application’s configuration data (connections .ini file) The stored credential information must be secure is not a user login - this occurs before a user login

Storing Login Credentials Login credentials (trusted connection, user name, password) are stored in the connections .ini file. Those credentials may be: Trusted connections – this is the easiest login method and requires no special accommodation in the .ini file DSNs – with ODBC and servers that use DSNs. This requires no special accommodation in the .ini file User name / password – this is stored in the .ini file. Ideally the password should be encrypted. Storing encrypted passwords creates some challenges This must be supported both for your applications and in our tools The Application encryption method should be fully customizable and only known by the developer The Tool encryption method is controlled and only known by us How do you maintain encrypted passwords in the .ini file?

The Database Login Tool A tool is required to configure the credential information. That tool is a database login dialog that is only invoked when needed accepts input to perform the login stores the successful credentials uses the applications encryptions rules to store passwords can be customized by the developer can be embedded in your windows application or used standalone Our applications (Studio, etc.) uses a similar tool

The Connections .ini file A connection with user id / password information [connection1] id=Chinook driver=MSSQLDRV connection=SERVER=.\SQLEXPRESS;DATABASE=Chinook UID=AppUser PWD=8973753hskfjd DFPWD=sdfj876jdk

The Connections .ini file A connection with multiple connections [Connection1] Id=ID1 driver=MSSQLDRV connection=SERVER=.\SQLEXPRESS;DATABASE=Order trusted_connection=yes [Connection2] Id=RS1 connection=SERVER=MyRemoteServer;DATABASE=RemoteData UID=AppUser PWD=893753hskfgd

The Connections .ini file A connection with alternate connections [Connection1] Id=ID1 driver=MSSQLDRV connection=SERVER=.\SQLEXPRESS;DATABASE=Order trusted_connection=yes disabled=yes [Connection2] connection=SERVER=.\SQLEXPRESS;DATABASE=Order_Demo

Managed Connections in Your Applications Use cConnection.pkg Object oApplication is a cApplication Object oConnection is a cConnection Set pbLoginOnOpen to False End_Object Use LoginEncryption.pkg Use DatabaseLoginDialog.dg

Additional Connectivity Goodies More control over table edits. We support three table edit modes: Read-only Table .int file only (back end table definition never changes) Full edit Connection Redirection Allows the remapping of a managed connection to a different connection string Occurs dynamically at runtime Existing tables remain open Connections can remain open making switching very fast Assumes all tables have identical structures

Studio Support for SQL Features SQL Features should feel “natural” and fully integrated Managed Connections Data Types Primary Keys Indexes Table .int only editing We’ll look at all this during the demo

Compatibility Managed connections are supported with our MSSQL, DB2 and ODBC connectivity kits (starting with revision 6.2) The changes have been implemented while maintaining 100% backwards compatibility with… Existing SQL-based applications Embedded database applications Pervasive database applications No changes are required to keep doing whatever you have already in place Adding code to existing applications to use managed connections is easy

Connectivity Demo

Thank you