pdf to image converter using c# : Can save pdf form data control application platform web page html windows web browser 201212-ug-php-oracle-188476033-part400

Creating OCI8 Tests 
Running like this, some of the demotest.phpt test framework content is shown, but code 
executes and only the actual, and not the expected, output is displayed. This can make it 
easier to quickly validate tests, without having to set TEST_PHP_EXECUTABLE and invoke run-
tests.php.
The page Writing Tests at http://qa.php.net/write-test.php shows other sections a 
test file can have, including ways to set arguments and php.ini parameters. This page also 
has generic examples and helpful information on writing tests. The sections of a .phpt file are 
documented at http://qa.php.net/phpt_details.php.
Writing good units tests is an art. Making a test portable, accurate, simple and self-
diagnosing requires fine judgment and tidy programming. 
OCI8 Test Helper Scripts
Along with connect.inc and details.inc, there are several useful scripts in ext/oci8/tests for 
creating and dropping basic tables and types, these include:
create_table.inc
create_type.inc
drop_table.inc
drop_type.inc
You can include these in any new tests you write.
Make sure new tests create any needed objects and drop them at the end of the test. Use 
unique names for each object, for example if the test demotest.phpt needs to create (and 
drop) a table, a good table name would be DEMOTEST_TAB.
Configuring the Database For Testing
Sometimes it is possible for rapidly executing OCI8 test scripts to flood the database with 
connections. This may be noticeable with Oracle Database XE, which has smaller defaults. 
Random tests fail with errors like the following:
ORA-12516 TNS:listener could not find available handler with matching protocol 
stack
or:
ORA-12520: TNS:listener could not find available handler for requested type of 
server
The best general solution is to use DRCP connecting pooling solution as discussed in the 
chapter PHP Connection Pooling and High Availability. An alternative method suitable for the 
specific case of testing is to increase the number of “processes” that Oracle can handle. This 
method is also applicable when connection pooling is not desired or available, for example 
when using Oracle Database 10.2.
To increase the number of processes in Oracle:
1. You may need to su as the oracle user so you have operating system privileges when 
starting SQL*Plus:
$ su – oracle
Password:
317
Can save pdf form data - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
change font in pdf form field; create a pdf form
Can save pdf form data - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
adding text fields to pdf acrobat; pdf create fillable form
Testing PHP and the OCI8 Extension
2. Set the Oracle environment variables needed by SQL*Plus, for example:
$ source /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
3. Use SQL*Plus to connect as a privileged database user:
$ sqlplus / as sysdba
4. Check the current value of processes using the SHOW PARAMETER PROCESSES command:
SQL> show parameter processes
NAME                      TYPE        VALUE 
------------------------- ----------- ----------- 
... 
processes                 integer     40 
5. Increase the value to, say, 100:
SQL> alter system set processes=100 scope=spfile;
System altered. 
6. Restart the database using the SHUTDOWN IMMEDIATE, followed by the STARTUP command:
SQL> shutdown immediate 
Database closed. 
Database dismounted. 
ORACLE instance shut down. 
SQL> startup 
ORACLE instance started. 
Total System Global Area 289406976 bytes 
Fixed Size 1258488 bytes 
Variable Size 96472072 bytes 
Database Buffers 188743680 bytes 
Redo Buffers2932736 bytes 
Database mounted.
Database opened.
7. Use the SHOW PARAMETER PROCESSES command to confirm the new value is in effect:
SQL> show parameter processes 
NAME                      TYPE        VALUE 
------------------------- ----------- ---------- 
... 
processes integer 100 
8. Exit SQL*Plus using the EXIT command:
SQL> exit
9. Now the tests can be run again:
$ make test TESTS=ext/oci8
318
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Append one PDF file to the end of another and save to a single PDF file. Thus, C#.NET PDF document merge library control can be counted as an efficient
add text field pdf; adding form fields to pdf files
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
This library DLL can efficiently enable developers to merge two or more PDF document into one and then save as another PDF document using Visual Basic
add photo to pdf form; add fillable fields to pdf
Testing PHP Applications
Testing PHP Applications
You should verify your applications work correctly with any new PHP binary before putting it 
into production. This gives load and real-life testing not possible with PHP’s command-line test 
suite. Application level testing brings even more challenges. There are several PHP test 
frameworks with sophisticated features that might be suited to create application test suites. 
They include PHPUnit and SimpleTest. These are not covered in this manual.
319
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
Quick to remove watermark and save PDF text, image, table, hyperlink and bookmark to Word without losing format. Password protected PDF file can be printed
change pdf to fillable form; pdf forms save
How to C#: Basic SDK Concept of XDoc.PDF for .NET
You can generate thumbnail image(s) from PDF file for quick viewing and further to load a PDF document from file or query data and save the PDF document.
adding a signature to a pdf form; convert word to editable pdf form
Testing PHP and the OCI8 Extension
320
C# WPF PDF Viewer SDK to view, annotate, convert and print PDF in
Form Process. Data: Read, Extract Field Data. Data: Auto Fill-in Field Data. Field: Insert NET RasterEdge WPF PDF Viewer, users can save PDF modifications and
change font size pdf fillable form; change font pdf form
VB.NET PDF: Basic SDK Concept of XDoc.PDF
You can generate thumbnail image(s) from PDF file for quick viewing and further to load a PDF document from file or query data and save the PDF document.
add fields to pdf form; create a pdf form online
APPENDIX A
T
RACING
OCI8 I
NTERNALS
This appendix discusses tracing the OCI8 internals. To see exactly what calls to the Oracle 
database the OCI8 extension makes, you can turn on debugging output. This is mostly useful 
for the maintainers of the OCI8 extension.
Enabling OCI8 Debugging output
Tracing can be turned on in your script with oci_internal_debug(). For a script that connects 
and does an insert:
Script 128: trace.php
<?php
oci_internal_debug(1);         // turn on tracing
$c = oci_connect("hr", "welcome", "localhost/XE");
$s = oci_parse($c, "insert into testtable values ('my data')");
oci_execute($s, OCI_NO_AUTO_COMMIT);
?>
You get output like:
OCI8 DEBUG: OCINlsEnvironmentVariableGet at (phpsrc/php-5.4/ext/oci8/oci8.c:1873) 
OCI8 DEBUG L1: Got NO cached connection at (phpsrc/php-5.4/ext/oci8/oci8.c:1918) 
OCI8 DEBUG: OCIEnvNlsCreate at (phpsrc/php-5.4/ext/oci8/oci8.c:2916) 
OCI8 DEBUG: OCIHandleAlloc at (phpsrc/php-5.4/ext/oci8/oci8.c:2737) 
OCI8 DEBUG: OCIHandleAlloc at (phpsrc/php-5.4/ext/oci8/oci8.c:2749) 
OCI8 DEBUG: OCIHandleAlloc at (phpsrc/php-5.4/ext/oci8/oci8.c:2766) 
OCI8 DEBUG: OCIAttrSet at (phpsrc/php-5.4/ext/oci8/oci8.c:2786) 
OCI8 DEBUG: OCIAttrSet at (phpsrc/php-5.4/ext/oci8/oci8.c:2795) 
OCI8 DEBUG: OCISessionPoolCreate at (phpsrc/php-5.4/ext/oci8/oci8.c:2807) 
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:2821) 
OCI8 DEBUG L1: create_spool: (0xa881548) at (phpsrc/php-5.4/ext/oci8/oci8.c:2825) 
OCI8 DEBUG L1: using shared pool: (0xa881548) at (phpsrc/php-
5.4/ext/oci8/oci8.c:3143) 
OCI8 DEBUG: OCIHandleAlloc at (phpsrc/php-5.4/ext/oci8/oci8.c:3154) 
OCI8 DEBUG: OCIHandleAlloc at (phpsrc/php-5.4/ext/oci8/oci8.c:3164) 
OCI8 DEBUG: OCIAttrSet at (phpsrc/php-5.4/ext/oci8/oci8.c:3173) 
OCI8 DEBUG: OCIAttrSet at (phpsrc/php-5.4/ext/oci8/oci8.c:3185) 
OCI8 DEBUG: OCIAttrGet at (phpsrc/php-5.4/ext/oci8/oci8.c:3197) 
OCI8 DEBUG: OCIAttrGet at (phpsrc/php-5.4/ext/oci8/oci8.c:3198) 
OCI8 DEBUG L1: (numopen=0)(numbusy=0)(numfree=0) at (phpsrc/php-
5.4/ext/oci8/oci8.c:3200) 
OCI8 DEBUG: OCISessionGet at (phpsrc/php-5.4/ext/oci8/oci8.c:3211) 
OCI8 DEBUG: OCIAttrGet at (phpsrc/php-5.4/ext/oci8/oci8.c:3226) 
OCI8 DEBUG: OCIAttrGet at (phpsrc/php-5.4/ext/oci8/oci8.c:3228) 
OCI8 DEBUG: OCIContextGetValue at (phpsrc/php-5.4/ext/oci8/oci8.c:3230) 
321
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Offer professional PDF document metadata editing APIs, using which VB.NET developers can redact, delete, view and save PDF metadata. PDF Document Protection.
create a form in pdf; create a fillable pdf form in word
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
NET PDF to TIFF conversion control, C# developers can render and TIFF with specified zoom value and save it into The magnification of the original PDF page size
change font size in pdf form field; add form fields to pdf without acrobat
Tracing OCI8 Internals
OCI8 DEBUG: OCIContextGetValue at (phpsrc/php-5.4/ext/oci8/oci8.c:3325) 
OCI8 DEBUG: OCIMemoryAlloc at (phpsrc/php-5.4/ext/oci8/oci8.c:3332) 
OCI8 DEBUG: OCIContextSetValue at (phpsrc/php-5.4/ext/oci8/oci8.c:3346) 
OCI8 DEBUG: OCIAttrSet at (phpsrc/php-5.4/ext/oci8/oci8.c:3256) 
OCI8 DEBUG L1: New Non-Persistent Connection address: (0xb452d160) at 
(phpsrc/php-5.4/ext/oci8/oci8.c:2167) 
OCI8 DEBUG L1: num_persistent=(0), num_links=(1) at (phpsrc/php-
5.4/ext/oci8/oci8.c:2169) 
OCI8 DEBUG: OCIHandleAlloc at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:57) 
OCI8 DEBUG: OCIStmtPrepare2 at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:72) 
OCI8 DEBUG: OCIAttrSet at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:123) 
OCI8 DEBUG: OCIAttrGet at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:433) 
OCI8 DEBUG: OCIStmtExecute at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:461) 
OCI8 DEBUG: OCIStmtRelease at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:766) 
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8_statement.c:774) 
OCI8 DEBUG: OCITransRollback at (phpsrc/php-5.4/ext/oci8/oci8.c:2241) 
OCI8 DEBUG: OCISessionRelease at (phpsrc/php-5.4/ext/oci8/oci8.c:2402) 
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:2288) 
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:2291) 
OCI8 DEBUG: OCISessionPoolDestroy at (phpsrc/php-5.4/ext/oci8/oci8.c:3293) 
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:3297) 
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:3301) 
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:3305) 
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:1144) 
OCI8 DEBUG: OCIHandleFree at (phpsrc/php-5.4/ext/oci8/oci8.c:1149) 
Many of these calls just allocate local resources (handles) and set local state (attributes), but 
some require a round trip to the database.
One of these is the OCITransRollback() call near the end of the script. The 
OCI_NO_AUTO_COMMIT flag said not to auto-commit and there was no explicit oci_commit() 
call. As part of PHP’s end of HTTP request shutdown at the conclusion of the script, the 
rollback was issued.
Note: if you change to auto-commit mode you will not see a call to OCITransCommit() 
because the commit message is piggy-backed with Oracle's statement execution call, thus 
saving a round-trip. If a script only inserts one row it is fine to auto-commit. Otherwise, do the 
transaction management yourself.
322
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET: Extract PDF Pages and Save into a New PDF File. You can easily get pages from a PDF file, and then use these pages to create and output a new PDF file.
pdf form save in reader; android edit pdf forms
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
control SDK is a mature component on the market, which can also provides doc.Save(outPutFilePath Demo Code: How to Delete Consecutive Pages from PDF in C#.
add print button to pdf form; pdf form creation
APPENDIX B
OCI8 
PHP
.
INI
P
ARAMETERS
This appendix gives an overview of the php.ini parameters for the OCI8 extension. Detailed 
discussion of their use is covered in previous chapters. 
The parameters can be changed in the PHP configuration file php.ini, for example:
oci8.default_prefetch = 75
Variables can also be set in Apache's httpd.conf:
<IfModule mod_php5.c>
php_admin_flag  oci8.old_oci_close_semantics On
php_admin_value oci8.connection_class MYPHPAPP
</IfModule>
The web server must be restarted for any changes to take effect.
The location of php.ini can be found by running the command line PHP executable php 
--ini. The current values of the OCI8 parameters can be found by running php --ri oci8. 
Loading phpinfo.php in a browser will show all parameters and is equivalent to php -i:
Script 129: phpinfo.php
<?php
phpinfo();
?>
If you might have multiple versions of PHP installed, check the settings via both command line 
and a browser.
If you are using Windows, remember to edit php.ini using administrative privileges.
Enabling PHP OCI8 in php.ini
On Windows, you will need to enable OCI8 in php.ini. If you are using OCI8 with Oracle 11gR2 
client libraries than add:
extension=php_oci8_11g.dll
If you are using OCI8 with Oracle 10gR2 client libraries than add:
extension=php_oci8.dll
Only one of these extensions can be enabled at a time.
If PHP OCI8 was compiled as a shared extension on Linux, you will need to enable it in 
php.ini with:
extension=oci8.so
If OCI8 was built statically into the PHP executable you do not need to set this.
On both platforms, make sure extension_dir is set to the directory containing the shared 
library.
323
OCI8 php.ini Parameters
PHP OCI8 php.ini Parameters
The php.ini directives for OCI8 are shown in the next table:
Table 20: OCI8 php.ini parameters
Name
Default Valid Range Description
oci8.connection_class
null
A short 
string
A user-chosen name for Oracle 
Database 11g Connection Pooling 
(DRCP). In general, use the same 
name for all web servers running 
the same application. Can also be 
set with ini_set().
Introduced in OCI8 1.3.
oci8.default_prefetch
100
Prior to 
OCI8 
1.3.4 
the 
default 
was 10
>= 0
Prior to 
OCI8 1.4 it 
had to be 
>= 1
The number of extra rows that 
Oracle fetches and internally 
buffers whenever a query row is 
physically retrieved from the 
database. This improves query 
performance by reducing the 
number of network accesses to 
the database. From Oracle 11gR2 
onwards this parameter also 
affects fetching from REF 
CURSORS. 
Also see oci_set_prefetch().
oci8.events
Off
Off or On
Allows PHP to receive Fast 
Application Notification (FAN) 
events from Oracle to give 
immediate notification of a 
database node or network failure. 
The database must also be 
configured to post events.
Introduced in OCI8 1.3.
oci8.max_persistent
-1
>= -1
-1 means 
no limit
Maximum number of persistent 
connections each PHP process 
caches. Note this is not a system-
wide total.
oci8.old_oci_close_semantics
Off
Off or On
Toggles whether oci_close() uses 
the old behavior, which was a “no-
op”.
324
PHP OCI8 php.ini Parameters
Name
Default Valid Range Description
oci8.persistent_timeout
-1
> -1
-1 means 
no timeout
How many seconds a persistent 
connection is allowed to remain 
idle before being terminated by its 
PHP process. PHP processes will 
check this each time the process 
is reused.
oci8.ping_interval
60
>= 0
-1 means 
no extra 
check 
occurs
How many seconds a persistent 
connection can be unused before 
an extra check during 
oci_pconnect() verifies the 
database connection is still valid.
oci8.privileged_connect
Off
Off or On
Toggles whether SYSDBA and 
SYSOPER connections are 
permitted.
oci8.statement_cache_size
20
>= 0
Improves database performance 
by caching the given number of 
SQL statements in PHP. Setting it 
to 0 disables statement caching.
325
OCI8 php.ini Parameters
326
Documents you may be interested
Documents you may be interested