Old 16th October 2008, 11:18   #1
friny
Junior Member
 
Join Date: Jul 2008
Posts: 2
Question Create an ODBC Entry for Oracle DB

Hi everyone, I'm newest using the Nsis, and I have a trouble when I try to compile my Nsis source. I'm using the publicated script that could Create an ODBC Entry using Oracle Database.

This is the Script:

Function CreateOracleODBCEntry
Exch $R2 ; Server Name
Exch
Exch $R3 ; Name of the ODBC Entry

; Save Registers R0,R1
Push $R0
Push $R1
Push $R4

; Try to find an Oracle home directory
Call OracleDefaultHome
Pop $R0
StrCmp $R0 "" FindAnyValidOracleHome CheckForODBCDriverExistence

; Find any valid home, if there is no valid default home
FindAnyValidOracleHome:
Call ValidOracleHome
Pop $R0
StrCmp $R0 "" NoOracleHomeFound CheckForODBCDriverExistence

; Check whether the ODBC entry already exists
CheckForODBCDriverExistence:
Push $R3
Call ODBCEntryExists
Pop $R1
StrCmp $R1 "TRUE" YaExiste

Goto Continuar

YaExiste:
MessageBox MB_YESNO "El origen de datos $R3 ya existe ¿Desea sobrescribir la configuración?" IDNO NoSobrescribe
DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3"
Goto Continuar

Continuar:

; Get the path of the Oracle home
Push $R0
Call OracleHomePath
Pop $R4

; Create the registry keys
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Driver" "$R4\bin\sqora32.dll"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Translation DLL" ""
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Translation Option" "0"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Attributes" "W"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "FetchBufferSize" "64000"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "NumericSetting" "NLS"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "ForceWCHAR" "F"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "FailoverDelay" "10"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "FailoverRetryCount" "10"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "MetadataIdDefault" "F"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Longs" "F"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "CloseCursor" "F"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "EXECSchemaOpt" ""
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "EXECSyntax" "F"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Application Attributes" "T"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "SQLGetData extensions" "F"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "ResultSets" "T"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "QueryTimeout" "T"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Failover" "T"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Lobs" "T"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "DisableMTS" "F"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "BatchAutocommitMode" "IfAllSuccessful"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Description" "$R7"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "ServerName" "$R2"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "Password" ""
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "UserID" "$R6"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "DSN" "$R3"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources" "$R3" "$R5 $R0"
StrCpy $R2 "TRUE"
Goto Done

ODBCEntryAlreadyExists:
StrCpy $R2 "FALSE"
Goto Done

NoOracleHomeFound:
StrCpy $R2 "FALSE"

Done:

; Restore R0-R4
Pop $R4
Pop $R1
Pop $R0
Pop $R3
Exch $R2

FunctionEnd



The point is when I try to compile this source the system shows me the next error:

!include: error in script Line 301

the line 301 contains:
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\ODBC\ODBC.INI\$R3" "FailoverDelay" "10"

Please Help me I don't know how to solve it

Regards
friny is offline   Reply With Quote
Old 17th October 2008, 02:07   #2
friny
Junior Member
 
Join Date: Jul 2008
Posts: 2
Hi, This plugin solve the trouble: http://nsis.sourceforge.net/Registry_plug-in

Regards
friny is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump