|
>Hi all
>I wonder about how can I control ODBC connections and file usage by this
connections.
>I want to allow only one user for example or only one file i mean how can I
secure my files on AS/400 from ODBC >>
>usage? Anybody can give me information about ODBC connections?
Here is a template from ibm example.
Hope this can help.
0001.00 H
0002.00 ** OS/400 SERVERS - SAMPLE USER EXIT PROGRAM
0003.00 **
0004.00 ** THE FOLLOWING RPG/400 PROGRAM UNCONDITIONALLY
0005.00 ** ACCEPTS ALL REQUESTS. IT CAN BE USED AS A SHELL
0006.00 ** FOR SPECIFIC APPLICATIONS. NOTE: REMOVE THE
0007.00 ** SUBROUTINES AND CASE STATEMENT ENTRIES FOR THE SERVERS
0008.00 ** THAT DO NOT REQUIRE
0009.00 ** SPECIFIC EXIT PROGRAM HANDLING FOR BETTER PERFORMANCE.
0010.00 **
0011.00 D*
0012.00 D* NECESSARY ARRAY DEFINITIONS FOR TRANSFER FUNCTION
0013.00 D* AND REMOTE SQL
0014.00 D*
0015.00 D*
0016.00 D*
0017.00 D PCSDTA DS
0018.00 D USERID 1 10
0019.00 D APPLID 11 20
0020.00 D*
0021.00 D* SPECIFIC PARAMETERS FOR VIRTUAL PRINTER
0022.00 D*
0023.00 D VPFUNC 21 30
0024.00 D VPOBJ 31 40
0025.00 D VPLIB 41 50
0026.00 D VPIFN 71 75 0
0027.00 D VPOUTQ 76 85
0028.00 D VPQLIB 86 95
0029.00 D*
0030.00 *
0031.00 D* SPECIFIC PARAMETERS FOR MESSAGING FUNCTION
0032.00 D MFFUNC 21 30
0033.00 D*
0034.00 D* SPECIFIC PARAMETERS FOR TRANSFER FUNCTION
0035.00 D*
0036.00 D TFFUNC 21 30
0037.00 D TFOBJ 31 40
0038.00 D TFLIB 41 50
0039.00 D TFMBR 51 60
0040.00 D TFFMT 61 70
0041.00 D TFLEN 71 75 0
0042.00 D TFREQ 76 4171
0043.00 D DIM(4096)
0044.00 D*
0045.00 D* SPECIFIC PARAMETERS FOR FILE SERVER
0046.00 D*
0047.00 D* NOTE: FSNAME MAY BE UP TO l6MB.
0048.00 D* FSNLEN WILL CONTAIN THE ACTUAL SIZE OF FSNAME.
0049.00 D*
0050.00 D FSFID 21 24B 0
0051.00 D FSFMT 25 32
0052.00 D FSREAD 33 33
0053.00 D FSWRIT 34 34
0054.00 D FSRDWR 35 35
0055.00 D FSDLT 36 36
0056.00 D FSNLEN 37 40B 0
0057.00 D FSNAME 41 296
0058.00 D*
0059.00 D* SPECIFIC PARAMETERS FOR DATA QUEUES
0060.00 D*
0061.00 D DQFUNC 21 30
0062.00 D DQQ 31 40
0063.00 D DQLIB 41 50
0064.00 D DQLEN 70 75 0
0065.00 D DQROP 76 77
0066.00 D DQKLEN 78 82 0
0067.00 D DQKEY 83 338
0068.00 D*
0069.00 D* SPECIFIC PARAMETERS FOR REMOTE SQL
0070.00 D*
0071.00 D RSFUNC 21 30
0072.00 D RSOBJ 31 40
0073.00 D RSLIB 41 50
0074.00 D RSCMT 51 51
0075.00 D RSMODE 52 52
0076.00 D RSCID 53 53
0077.00 D RSSTN 54 71
0078.00 D RSRSV 72 75
0079.00 D RSREQ 76 4182
0080.00 D DIM(4107)
0081.00 D*
0082.00 D* SPECIFIC PARAMETERS FOR OPTIMIZED NETWORK PRINT SERVER
0083.00 D*
0084.00 D NPFT 21 28
0085.00 D NPFID 29 32B 0
0086.00 *
0087.00 D* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT SPLF0l00
0088.00 D NPJOBN 33 42
0089.00 D NPUSRN 43 52
0090.00 D NPJOB# 53 58
0091.00 D NPFILE 59 68
0092.00 D NPFIL# 69 72B 0
0093.00 D NPLEN 73 76B 0
0094.00 D NPDATA 77 332
0095.00 D*
0096.00 D* Optimized Data Queue server:
0097.00 D*
0098.00 D* QIBM_QZHQ_DATA_QUEUE format ZHQ00100
0099.00 D*
0100.00 D DQOFMT 21 28
0101.00 D DQOFID 29 32B 0
0102.00 D DQOOBJ 33 42
0103.00 D DQOLIB 43 52
0104.00 D DQOROP 53 54
0105.00 D DQOLEN 55 58B 0
0106.00 D DQOKEY 59 314
0107.00 D*
0108.00 D* Specific PARAMETERS FOR OPTIMIZED CENTRAL SERVER
0109.00 D*
0110.00 D CSFMT 21 28
0111.00 D CSFID 29 32B 0
0112.00 D* Optimized Central server:
0113.00 D*
0114.00 D* QIBM_QZSC_LM format ZSCL0l00 for license management calls
0115.00 D*
0116.00 D*
0117.00 D CSLCNM 33 287
0118.00 D CSLUSR 288 295
0119.00 D CSLPID 296 302
0120.00 D CSLFID 303 306
0121.00 D CSLRID 307 312
0122.00 D CSLTYP 313 314B 0
0123.00 D*
0124.00 D* Optimized Central server:
0125.00 D*
0126.00 D* QIBM_QZSC_LM format ZSCS0l00 for system management calls
0127.00 D*
0128.00 D*
0129.00 D CSSCNM 33 287
0130.00 D CSSCMY 288 542
0131.00 D CSSNDE 543 543
0132.00 D CSSNNM 544 798
0133.00 D*
0134.00 *
0135.00 *
0136.00 D* Optimized Central server:
0137.00 D*
0138.00 D* QIBM_QZSC_LM format ZSCN0l00 for retrive conversion map calls
0139.00 D*
0140.00 D*
0141.00 D CSNXFM 21 30
0142.00 D CSNFNC 29 32 0
0143.00 D CSNFRM 33 36B 0
0144.00 D CSNTO 37 40B 0
0145.00 D CSNCNT 41 42B 0
0146.00 D*
0147.00 D* SPEClFIC PARAMETERS FOR OPTIMIZED DATABASE SERVER
0148.00 D*
0149.00 D DBFMT 21 28
0150.00 D DBFID 29 32B 0
0151.00 D*
0152.00 D* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAD0l00
0153.00 D DBDFIL 33 160
0154.00 D DBDLIB 161 170
0155.00 D DBDMBR 171 180
0156.00 D DBDAUT 181 190
0157.00 D DBDBFL 191 318
0158.00 D DBDBLB 319 328
0159.00 D DBDOFL 329 338
0160.00 D DBDOLB 339 348
0161.00 D DBDOMB 349 358
0162.00 D*
0163.00 D* THE FOLLOWING PARRMETERS ADDITIONAL FOR FORMAT ZDAD0200
0164.00 D DBNUM 33 36B 0
0165.00 D DBLIB2 37 46
0166.00 D*
0167.00 D* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAQ0l00
0168.00 D DBSTMT 33 50
0169.00 D DBCRSR 51 68
0170.00 D DBOPI 69 70
0171.00 D DBATTR 71 72
0172.00 D DBPKG 73 82
0173.00 D DBPLIB 83 92
0174.00 D DBDRDA 93 94B 0
0175.00 D DBCMT 95 95
0176.00 D DBTEXT 96 351
0177.00 D* THE FOLLOWING PARAMETERS REPLACE DBTEXT FOR FORMAT ZDAQ0200
0178.00 D DBSQCL 96 105
0179.00 D DBSQLN 133 136B 0
0180.00 D DBSQTX 137 392
0181.00 D* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAR0l00
0182.00 D DBLIBR 33 52
0183.00 D DBRDBN 53 88
0184.00 D DBPKGR 89 108
0185.00 D DBFILR 109 364
0186.00 D DBMBRR 365 384
0187.00 D DBFFT 385 404
0188.00 *
0189.00 *
0190.00 D* THE FOLLOWING PARAMETERS ADDITIONAL FOR FORMAT ZDAR0200
0191.00 D DBRPLB 33 42
0192.00 D DBRPTB 43 170
0193.00 D DBRFLB 171 180
0194.00 D DBRFTB 181 308
0195.00 D*
0196.00 D* Optimized Remote Command/Distributed Program Call server:
0197.00 D*
0198.00 D* QIBM_QZRC_RMT format CZRC0100
0199.00 D* RCPGM AND RCLIB ARE NOT USED FOR REMOTE COMMAND CALLS
0200.00 D*
0201.00 D RCFMT 21 28
0202.00 D RCFID 29 32B 0
0203.00 D RCPGM 33 42
0204.00 D RCLIB 43 52
0205.00 D RCNUM 53 56B 0
0206.00 D RCDATA 57 312
0207.00 D*
0208.00 D* Optimized Signon server:
0209.00 D*
0210.00 D* QIBM_QZSO_SIGNONSRV format ZSOY0l00 for TCP/IP signon server
0211.00 D*
0212.00 D SOXFMT 21 28
0213.00 D SOFID 29 32B 0
0214.00 D*
0215.00 D***************************************************************
0216.00 D*
0217.00 D #VPRT C CONST('*VPRT ')
0218.00 D #TRFCL C CONST('*TFRFCL ')
0219.00 D #FILE C CONST('*FILESRV ')
0220.00 D #MSGF C CONST('*MSGFCL ')
0221.00 D #DQSRV C CONST('*DQSRV ')
0222.00 D #RQSRV C CONST('*RQSRV ')
0223.00 D #SQL C CONST('*SQL ')
0224.00 D #NDBSV C CONST('*NDB ')
0225.00 D #SQLSV C CONST('*SQLSRV ')
0226.00 D #RTVOB C CONST('*RTVOBJINF')
0227.00 D #DATAQ C CONST('*DATAQSRV ')
0228.00 D #QNPSV C CONST('*QNPSERVR ')
0229.00 D #CNTRL C CONST('*CNTRLSRV ')
0230.00 D #RMTSV C CONST('*RMTSRV ')
0231.00 D #SIGN C CONST('*SIGNON ')
0232.00 I*
0233.00 C*
0234.00 C* EXIT PROGRAM CALL PARAMETERS
0235.00 C*
0236.00 C *ENTRY PLIST
0237.00 C PARM RTNCD 1
0238.00 C PARM PCSDTA
0239.00 C*
0240.00 *
0241.00 *
0242.00 C* INITIALIZE RETURN VALUE TO ACCEPT REQUEST
0243.00 C*
0244.00 C MOVE '1' RTNCD
0245.00 C*
0246.00 C* COMMON PROCESSING
0247.00 C*
0248.00 C* COMMON LOGIC GOES HERE
0249.00 C*
0250.00 C* PROCESS BASED ON SERVER ID
0251.00 C*
0252.00 C APPLID CASEQ #VPRT VPRT
0253.00 C APPLID CASEQ #TRFCL TFR
0254.00 C APPLID CASEQ #FILE FILE
0255.00 C APPLID CASEQ #MSGF MSG
0256.00 C APPLID CASEQ #DQSRV DATAQ
0257.00 C APPLID CASEQ #RQSRV RSQL
0258.00 C APPLID CASEQ #SQL SQLINT
0259.00 C APPLID CASEQ #NDBSV NDB
0260.00 C APPLID CASEQ #SQLSV SQLSRV
0261.00 C APPLID CASEQ #RTVOB RTVOBJ
0262.00 C APPLID CASEQ #DATAQ ODATAQ
0263.00 C APPLID CASEQ #QNPSV NETPRT
0264.00 C APPLID CASEQ #CNTRL CENTRL
0265.00 C APPLID CASEQ #RMTSV RMTCMD
0266.00 C APPLID CASEQ #SIGN SIGNON
0267.00 C END
0268.00 C SETON LR
0269.00 C RETURN
0270.00 C*
0271.00 C* SUBROUTINES
0272.00 C*
0273.00 C*
0274.00 C* VIRTUAL PRINT
0275.00 C*
0276.00 C VPRT BEGSR
0277.00 C* SPECIFIC LOGIC GOES HERE
0278.00 C ENDSR
0279.00 C*
0280.00 C* TRANSFER FUNCTION
0281.00 C*
0282.00 C* THE FOLLOWING IS AN EXAMPLE OF SPECIFIC PROCESSING
0283.00 C* THAT THE EXIT PROGRAM COULD DO FOR TRANSFER FUNCTION.
0284.00 C*
0285.00 *
0286.00 *
0287.00 C* IN THIS CASE, USERS ARE NOT ALLOWED TO SELECT
0288.00 C* DATA FROM ANY FILES THAT ARE IN LIBRARY QIWS.
0289.00 C*
0290.00 C TFR BEGSR
0291.00 C TFFUNC IFEQ 'SELECT'
0292.00 C TFLIB ANDEQ 'QIWS'
0293.00 C MOVE '0' RTNCD
0294.00 C END
0295.00 C ENDSR
0296.00 C*
0297.00 C*
0298.00 C* FILE SERVER
0299.00 C*
0300.00 C FILE BEGSR
0301.00 C* SPECIFIC LOGIC GOES HERE
0302.00 C ENDSR
0303.00 C*
0304.00 C* MESSAGING FUNCTION
0305.00 C*
0306.00 C MSG BEGSR
0307.00 C* SPECIFIC LOGIC GOFS HERE
0308.00 C ENDSR
0309.00 C* DATA QUEUES
0310.00 C*
0311.00 C DATAQ BEGSR
0312.00 C* SPECIFIC LOGIC GOES HERE
0313.00 C ENDSR
0314.00 C*
0315.00 C* REMOTE SQL
0316.00 C*
0317.00 C RSQL BEGSR
0318.00 C* SPECIFIC LOGIC GOES HERE
0319.00 C ENDSR
0320.00 C*
0321.00 C* OPTIMIZED SERVERS
0322.00 C*
0323.00 C*
0324.00 C* DATABASE INIT
0325.00 C*
0326.00 C SQLINT BEGSR
0327.00 C* SPECIFIC LOGIC GOES HERE
0328.00 C ENDSR
0329.00 C*
0330.00 C* DATABASE NDB (NATIVE DATABASE)
0331.00 C*
0332.00 C NDB BEGSR
0333.00 C* SFECIFIC LOGIC GOES HERE
0334.00 C ENDSR
0335.00 C*
0336.00 *
0337.00 *
0338.00 C* DATABASE SQL
0339.00 C*
0340.00 C SQLSRV BEGSR
0341.00 C* SPECIFIC LOGIC GOES HERE
0342.00 C ENDSR
0343.00 C*
0344.00 C* DATABASE RETRIVE OBJECT INFORMATION
0345.00 C*
0346.00 C RTVOBJ BEGSR
0347.00 C* SPECIFIC LOGIC GOES HERE
0348.00 C ENDSR
0349.00 C*
0350.00 C* DATA QUEUE SERVER
0351.00 C*
0352.00 C ODATAQ BEGSR
0353.00 C* SPECIFIC LOGIC GOES HERE
0354.00 C ENDSR
0355.00 C*
0356.00 C* NETWORK PRINT
0357.00 C*
0358.00 C NETPRT BEGSR
0359.00 C* SPECIFIC LOGIC GOES HERE
0360.00 C ENDSR
0361.00 C*
0362.00 C* CENTRAL SERVER
0363.00 C*
0364.00 C*
0365.00 C* THE FOLLOWING IS AN EXAMPLE OF SPECIFIC PROCESSING
0366.00 C* THAT THE EXIT PROGRAM COULD DO FOR LICENSE MANAGEMENT.
0367.00 C*
0368.00 C* IN THIS CASE, THE USER "USERALL" WILL NOT BE ALLOWED
0369.00 C* TO EXECUTE ANY FUNCTIONS THAT ARE PROVIDED BY THE
0370.00 C* CENTRAL SERVER FOR WHICH THIS PROGRAM IS A REGISTERED
0371.00 C* EXIT PROGRAM - LICENSE INFORMATION, SYSTEM MANAGEMENT
0372.00 C* OR RETRIVE A CONVERSION MAP.
0373.00 C*
0374.00 C CENTRL BEGSR
0375.00 C USERID IFEQ 'USERALL'
0376.00 C MOVE '0' RTNCD
0377.00 C ENDIF
0378.00 C* SPECIFIC LOGIC GOES HERE
0379.00 C ENDSR
0380.00 C*
0381.00 *
0382.00 *
0383.00 C* REMOTE COMMAND/DISTRIBUTED PROGRAM CALL
0384.00 C*
0385.00 C* IN THIS CASE, THE USER "USERALL" WILL NOT BE ALLOWED
0386.00 C* TO EXECUTE ANY REMOTE COMMANDS OR REMOTE PROGRAM CALLS
0387.00 C*
0388.00 C RMTCMD BEGSR
0389.00 C USERID IFEQ 'USERALL'
0390.00 C MOVE '0' RTNCD
0391.00 C ENDIF
0392.00 C ENDSR
0393.00 C*
0394.00 C* SIGNON SERVER
0395.00 C*
0396.00 C SIGNON BEGSR
0397.00 C* SPECIFIC LOGIC GOES HERE
0398.00 C ENDSR
You can put this pgm in addexitpgm for database server, tcp signon.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.