Skip to content

Commit

Permalink
ODBC-1 Implement the ODBC Connector
Browse files Browse the repository at this point in the history
Initial check-in of HPCC-ODBC connector, which will allow ODBC compliant applications
to query HPCC datasets and execute HPCC stored procedures/deployed queries.

Signed-off-by: William Whitehead <[email protected]>
  • Loading branch information
RussWhitehead committed Feb 5, 2015
1 parent 201c5b5 commit 04bb38c
Show file tree
Hide file tree
Showing 18 changed files with 4,665 additions and 2 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
HPCC-ODBC
=========
===========

HPCC ODBC Driver
HPCC-ODBC Connector
68 changes: 68 additions & 0 deletions brand_hpcc_odbc32.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
rem if "%PROGRESS_SDK_DIR%".==. set PROGRESS_SDK_DIR=C:\Program Files (x86)\Progress\DataDirect\oaodbclocal72

@echo on
@echo ==============================================================================
@echo This batch file performs the branding of the HPCC-ODBC Connector and the Management
@echo Console plug-in. This assumes the "Progress DataDirect OEM SDK Local, version 7.2"
@echo ==============================================================================

@echo Ensure SDK is properly installed and mirrored
if not exist "%PROGRESS_SDK_DIR%\admin.ORIGINAL\mmcoa.dll" goto :MISSING_SDK_BRANCH
if not exist "%PROGRESS_SDK_DIR%\custom\install.ORIGINAL\basic\setup.ini" goto :MISSING_SDK_BRANCH

@echo ------------------------------------------------------------------------------
@echo Restore original Progress DataDirect SDK "image" folder
@echo ------------------------------------------------------------------------------
rmdir "%PROGRESS_SDK_DIR%\custom\install" /S /Q
xcopy "%PROGRESS_SDK_DIR%\custom\install.ORIGINAL" "%PROGRESS_SDK_DIR%\custom\install\*.*" /s /y /q
del "%PROGRESS_SDK_DIR%\custom\install\image\cla*.inp"
del "%PROGRESS_SDK_DIR%\custom\install\image\custom*.ini"

@echo ------------------------------------------------------------------------------
@echo Brand the MMC management console plug-in
@echo Refer to the "OpenAccess™ SDK Distribution Guide" for details
@echo ------------------------------------------------------------------------------
rmdir "%PROGRESS_SDK_DIR%\admin" /S /Q
xcopy "%PROGRESS_SDK_DIR%\admin.ORIGINAL" "%PROGRESS_SDK_DIR%\admin\*.*" /s /y /q
"%PROGRESS_SDK_DIR%\custom\branding\brandmmc" "%PROGRESS_SDK_DIR%\admin\mmcoa.dll" local -c "HPCC Systems" -s "HPCC Systems" -p "HPCC-ODBC Connector" -v 0.50
if not exist "%PROGRESS_SDK_DIR%\admin\prepmsc.reg" goto :MISSING_MMC

@echo ------------------------------------------------------------------------------
@echo Brand the drivers. We specify the "HS" prefix which is registered with Progress
@echo Refer to the "OpenAccess™ SDK Distribution Guide" for details
@echo ------------------------------------------------------------------------------
"%PROGRESS_SDK_DIR%\custom\branding\brandodbc" "%PROGRESS_SDK_DIR%\custom\install\image\bin" local -N HS -P HPCC4Me -X n -S n -c "HPCC Systems" -s "HPCC Systems" -p "HPCC-ODBC Connector" -v 0.50
if not exist "%PROGRESS_SDK_DIR%\custom\install\image\bin\HSoal25.dll" goto :MISSING_DRIVER

@echo ------------------------------------------------------------------------------
@echo Please ensure the following branded files were created for the Local
@echo ODBC client, in the %PROGRESS_SDK_DIR%\custom\install\image\bin folder
@echo .
@echo HSoal25.dll - Branded Local ODBC client Driver
@echo HSoald25.dll - Branded Local ODBC driver dialog file
@echo HSoals25.dll - Branded Local ODBC driver setup file
@echo HSoal25m.dll - Branded Local ODBC driver message file
@echo .
@echo HSmgan25.dll - Branded “Anonymous” authentication MGSS module
@echo HSmghu25.dll - Branded “Host User” authentication MGSS module
@echo HSmgsp25.dll - Branded “SSPI (NTLM or Kerberos)” authentication MGSS module
@echo .
@echo HSoal25.ini - Branded ODBC Driver config file. References are modified with the branded DLL names.
@echo HS.SHA - Branded Product license file
@echo ------------------------------------------------------------------------------
goto :DONE

:MISSING_SDK_BRANCH
@echo ERROR! "Progress DataDirect OEM SDK Local, version 7.2" missing or not mirrored. Please ensure it
@echo is installed, and create "%PROGRESS_SDK_DIR%\admin.ORIGINAL" and "%PROGRESS_SDK_DIR%\custom\install.ORIGINAL" !!!
goto :DONE

:MISSING_MMC
@echo ERROR! Branded MMC files appear to be missing (mmcoa.dll, prepmsc.reg, unprepmsc.reg) !!!
goto :DONE

:MISSING_DRIVER
@echo ERROR! Branded Driver files appear to be missing (HS*.dll) !!!
goto :DONE

:DONE
19 changes: 19 additions & 0 deletions hpcc_odbc_32.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hpcc_odbc_32", "hpcc_odbc_32.vcproj", "{02CA2893-A828-4A00-B2BA-96266A1C05B9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{02CA2893-A828-4A00-B2BA-96266A1C05B9}.Debug|Win32.ActiveCfg = Debug|Win32
{02CA2893-A828-4A00-B2BA-96266A1C05B9}.Debug|Win32.Build.0 = Debug|Win32
{02CA2893-A828-4A00-B2BA-96266A1C05B9}.Release|Win32.ActiveCfg = Release|Win32
{02CA2893-A828-4A00-B2BA-96266A1C05B9}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
272 changes: 272 additions & 0 deletions hpcc_odbc_32.vcproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,272 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="hpcc-odbc"
ProjectGUID="{02CA2893-A828-4A00-B2BA-96266A1C05B9}"
RootNamespace="hpcc_odbc"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Release/hpcc_odbc_32.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories=".\src;..\WS-SQL;..\HPCC-Generated;..\HPCC-Platform\system\include;&quot;C:\Program Files (x86)\Progress\DataDirect\oaodbclocal72\ip\inc&quot;;..\HPCC-Platform\system\jlib;..\HPCC-Platform\esp\esplib;..\HPCC-Platform\system\xmllib;..\HPCC-Platform\esp\clients;..\HPCC-Platform\esp\bindings\SOAP\xpp;..\HPCC-Platform\esp\bindings;..\HPCC-Platform\system\security\shared;..\HPCC-Platform\esp\platform;"
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_USRDLL;USE_DLL;IMPORTDLL;LINT_ARGS;_CRT_SECURE_NO_DEPRECATE"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Release/hpcc_odbc_32.pch"
AssemblerListingLocation=".\Release/"
ObjectFile=".\Release/"
ProgramDataBaseFileName=".\Release/"
WarningLevel="3"
SuppressStartupBanner="true"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="jlib.lib esphttp.lib oadsdam.lib"
OutputFile=".\Release\hpcc_odbc_32.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\HPCC-Lib\;C:\Program Files (x86)\Progress\DataDirect\oaodbclocal72\ip\lib"
ModuleDefinitionFile=".\src\hpccodbc.def"
ProgramDatabaseFile=".\Release/hpcc_odbc_32.pdb"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
ImportLibrary=".\Release/hpcc_odbc_32.lib"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
CommandLine=""
/>
<Tool
Name="VCCustomBuildTool"
CommandLine=""
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Debug/hpcc_odbc_32.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".\src;..\WS-SQL;..\HPCC-Generated;..\HPCC-Platform\system\include;&quot;C:\Program Files (x86)\Progress\DataDirect\oaodbclocal72\ip\inc&quot;;..\HPCC-Platform\system\jlib;..\HPCC-Platform\esp\esplib;..\HPCC-Platform\system\xmllib;..\HPCC-Platform\esp\clients;..\HPCC-Platform\esp\bindings\SOAP\xpp;..\HPCC-Platform\esp\bindings;..\HPCC-Platform\system\security\shared;..\HPCC-Platform\esp\platform;"
PreprocessorDefinitions="_DEBUG;LINT_ARGS;USE_DLL;IMPORTDLL;WIN32;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=""
AssemblerListingLocation=".\Debug/"
ObjectFile=".\Debug/"
ProgramDataBaseFileName=".\Debug/"
BrowseInformation="1"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="jlib.lib esphttp.lib oadsdam.lib"
ShowProgress="0"
OutputFile=".\Debug\hpcc_odbc_32.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\HPCC-Lib\;C:\Program Files (x86)\Progress\DataDirect\oaodbclocal72\ip\lib"
GenerateManifest="false"
ModuleDefinitionFile=".\src\hpccodbc.def"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/hpcc_odbc_32.pdb"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
ImportLibrary=".\Debug/hpcc_odbc_32.lib"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>
<File
RelativePath=".\src\hpcc_drv.cpp"
>
</File>
<File
RelativePath=".\src\hpcc_format.cpp"
>
</File>
<File
RelativePath=".\src\hpcc_info.c"
>
</File>
<File
RelativePath=".\src\hpcc_util.cpp"
>
</File>
<File
RelativePath=".\src\hpccdb.cpp"
>
</File>
<File
RelativePath=".\src\hpccodbc.def"
>
</File>
<File
RelativePath="..\WS-SQL\ws_sql.esp"
>
</File>
<File
RelativePath="..\WS-SQL\ws_sql_esp.cpp"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
<File
RelativePath=".\src\hpcc_util.hpp"
>
</File>
<File
RelativePath=".\src\hpccdb.hpp"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
Loading

0 comments on commit 04bb38c

Please sign in to comment.