Differences between version 3 and revision by previous author of HowToMSSQL6OpenlinkPHPODBC.
Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Thursday, October 21, 2004 5:29:43 pm | by AristotlePagaltzis | Revert |
Older page: | version 2 | Last edited on Friday, June 7, 2002 1:07:03 am | by perry | Revert |
@@ -1,443 +1 @@
-
-
-
-Connecting to MS SQL 6.x+ via Openlink/PHP/ODBC mini-HOWTO
-
-
-
-----
-
-!!!Connecting to MS SQL 6.x+ via Openlink/PHP/ODBC mini-HOWTO
-
-!!Zili Zhang, silen@silen.net3., 1999-07-15
-
-
-----
-''How to connect to MS SQL 6.x+ database server via ODBC functions of
-PHP3(3..1x or above) compiled with Openlink drivers under Linux.''
-----
-
-
-
-
-!!1. Introduction
-
-
-*1.1 Copyright
-
-*1.2 Disclaimer
-
-
-
-
-
-!!2. Openlink
-
-
-*2.1 On the Client
-
-*2.2 On the Server
-
-*2.3 Configuration Before Test
-
-*2.4 Text with odbctest
-
-
-
-
-
-!!3. PHP
-
-
-
-
-!!4. Example
-
-
-
-
-!!5. FAQ
-----
-
-!!1. Introduction
-
-
-This document describes how to connect to MS SQL 6.x+ database server
-via ODBC functions of PHP3(3..1x or above) compiled with Openlink
-drivers under Linux.
-
-
-In the Unix world, people may hate to be invoked with any M$ related
-software. However, in the real world, the boss may require you to
-store data in a MS SQL database on NT and run web application on
-Linux. What to do? Quit the job or sit down to read this document? If
-you choose latter, I will give you a detailed installation guide so
-that you can keep the job for a while. It is a How-to guide, not a
-Why-so guide. So don't ask me why abc instead of cba. I don't know
-either.
-
-
-PHP is becoming more and more popular in web programmers, mainly
-because it can be configured to connect to various databases like
-Oracle, MySQL, Solid and so on. But for a MS SQL server, the problem
-is different. Though you can use PHP's Sybase-ct support features to
-directly connect to MSSQL, many people (at least me) prefer to
-connect via ODBC.
-
-
-Utilizing Openlink ODBC middleware, you can use those ODBC_xxxx
-functions to connect to all the database Openlink has a driver for.
-You have to install Openlink Linux client and Server middleware and
-re-compile PHP to support ODBC functions. In the end, I made a script
-sample for reference.
-
-
-
-
-!!1.1 Copyright
-
-
-
-Copyright (c) 1999 by Zili Zhang
-
-
-Please freely copy and distribute (sell or give away) this document in
-any format. It's requested that corrections and/or comments be forwarded
-to the document maintainer. You may create a derivative work and distribute
-it provided that you:
-
-
-
-
-
-*Send your derivative work (in the most suitable format such as
-sgml) to the LDP (Linux Documentation Project) or the like for posting
-on the Internet. If not the LDP, then let the LDP know where it is
-available.
-*
-
-*License the derivative work with this same license or use GPL.
-Include a copyright notice and at least a pointer to the license used.
-*
-
-*Give due credit to previous authors and major contributors.
-*
-
-
-
-
-
-
-If you're considering making a derived work other than a translation,
-it's requested that you discuss your plans with the current maintainer.
-
-
-
-
-!!1.2 Disclaimer
-
-
-
-The following document is offered in good faith as comprising only
-safe configuration and procedures. No responsibility is accepted by
-the author for any loss or damage caused in any way to any person or
-equipment, as a direct or indirect consequence of following these
-instructions.
-
-
-This document was derived from the plain text entry found on
-http://www.silen.net/openlink-php-odbc.txt.
-
-
-
-----
-
-!!2. Openlink
-
-
-This step is a little bit complicated. You have to done works on both
-sides of your Linux client machine and NT server.
-
-
-
-
-!!2.1 On the Client
-
-
-
-
-
-
-*From
-ftp://www.openlinksw.com/,
-download install.sh and likoxglc.taz
-(for a libc6 system) or likoxxxx.taz (for a libc5 system).
-*
-
-*mkdir /usr/local/openlink
-*
-
-*copy install.sh and likoxglc.taz
-into /usr/local/openlink
-*
-
-*cd /usr/local/openlink
-*
-
-*sh install.sh, the install script will ask you the owner and group of
-the program. It will extract things to
-odbcsdk directory under /usr/local/openlink
-and copy a .odbc.ini into the owner's home directory.
-*
-
-
-
-
-
-!!2.2 On the Server
-
-
-
-
-
-
-*From
-ftp://www.openlinksw.com/,
-download ntadm65x.zip onto your NT server.
-*
-
-*unzip ntadm65x.zip
-*
-
-*cd disk1 - directory of where you unzip the package.
-*
-
-*execute setup and follow the instructions to install the Openlink
-middleware.
-*
-
-*remember to start Openlink request broker from start menu or service
-control panel.
-*
-
-
-
-
-
-!!2.3 Configuration Before Test
-
-
-
-
-
-
-*keep the .odbc.ini file in your home directory.
-*
-
-*copy the udbc.ini from the bin directory of Openlink middleware
-install directory to the /etc directory of client.
-*
-
-*customize /etc/udbc.ini. In
[[dsn_sql6
] section, change the
-host, database, username and password entries to fit your server settings.
-Here is part of my /etc/udbc.ini:
-
-
-[[dsn_sql6]
-Host = 10...1
-!ServerType = sql6
-;!ServerOptions =
-Database = pubs
-;!FetchBufferSize = 30
-!UserName = sa
-Password = xxxxxxx
-
-
-
-*
-
-*add to your environment LD_LIBRARY_PATH='/usr/local/openlink/odbcsdk/lib'
-and export it. In csh shell, type:
-setenv LD_LIBRARY_PATH /usr/local/openlink/odbcsdk/lib
-*
-
-
-
-
-
-!!2.4 Text with odbctest
-
-
-
-
-
-
-*cd /usr/local/openlink/odbcsdk/examples
-*
-
-*./odbctest
-*
-
-*type: dsn=dsn_sql6
-*
-
-*when 'sql>' appears, you can execute your sql clauses to test the
-connection.
-*
-
-
-
-
-
-
-
-----
-
-!!3. PHP
-
-
-Now we have Openlink and can go to PHP compilation. Note for this
-version, PHP 3..10 or above is required to make things work.
-
-
-*From
-http://www.php.net, download
-php-3..11.tar.gz
-*
-
-* Perform the following steps:
-
-
-gzip -dc php-3..11.tar.gz|tar -xof -
-cd php-3..11
-./configure --with-openlink (--with-mysql --with-gd=/usr/local/gd1.3 --enable-track-vars)
-NOTE: My configuration is to run PHP as CGI mode, support mysql,
-as well. Your configuration may be different.
-make --silent
-NOTE: Don't mind if there are warning messages.
-make install
-
-
-These will install php executable into /usr/local/bin.
-Before you execute php, copy the library files under
-/usr/local/openlink/odbcsdk/lib into /usr/lib to
-make it easier for php to find openlink libraries (I know there are
-better methods).
-*
-
-
-
-
-
-
-
-----
-
-!!4. Example
-
-
-Please refers to PHP manual for ODBC functions. Here is my example
-code odbc.php3: (Note that odbc_num_rows() will not return anything,
-so you must repeately call odbc_fetch_row() to get that number.)
-
-
-<?
-/* some environment variables, you can test to comment them out to see
-* if things still work.
-*/
-putenv("LD_LIBRARY_PATH=/usr/local/openlink/odbcsdk/lib");
-putenv("UDBCINI=/etc/udbc.ini");
-putenv("ODBCINI=/root/.odbc.ini");
-putenv("!DebugFile=/tmp/udbc.out"); // debug trace output
-$dsn="DSN=dsn_main"; // note 'DSN=' is required
-$user="sa";
-$password="xxxxxxx";
-$sql="SELECT * FROM titles";
-/* directly execute mode */
-if ($conn_id=odbc_connect("$dsn",$user,$password)){
-echo "connected to DSN: $dsn<br><br>";
-if($result_id=odbc_do($conn_id, $sql)) {
-echo "executing '$sql'<br><br>";
-$num_fields=odbc_num_fields($result_id);
-if($num_fields>){
-echo "Number of fields:
-$num_fields<br>";
-for($i=1;$i<=$num_fields;$i++){
-$field_name[[$i-1]=odbc_field_name($result_id,$i);
-}
-$num_rows=;
-while(odbc_fetch_row($result_id)){
-for($i=1;$i<=$num_fields;$i++){
-$result[[$num_rows][[$field_name[[$i-1]]=odbc_result($result_id,$i);
-}
-$num_rows++;
-}
-echo "Number of rows: $num_rows<br>";
-}else{
-echo "not a field returned. <br><br>";
-}
-echo "Results:<br>";
-for($i=;$i<sizeof($result);$i++){
-while(list($key,$value)=each($result[[$i])){
-echo "$i:$key=$value<br>";
-}
-}
-echo "freeing result<br><br>";
-odbc_free_result($result_id);
-}else{
-echo "can not execute '$sql'<BR><BR>";
-}
-echo "closing connection $conn_id";
-odbc_close($conn_id);
-}else{
-echo "can not connect to DSN: $dsn<br><br>";
-}
-?>
-
-
-
-
-
-----
-
-!!5. FAQ
-
-
-
-
-
-
-
-
-*''Does this exact procedure work for MSSQL 7.?''
-
-
-Yes, Openlink will upgrade their software to 7., but I don't know when.
-
-
-
-
-*
-
-*''I followed this document step by step to install
-the openlink drivers but I stopped at the "install ntadm65x.zip"
-step. After I installed ntadm65x I tried to start the !OpenLink Request Broker
-and got the error:''
-
-
-unable to open the service control manager <5>
-press RETURN to exit oplrqb
-
-
-''Could you please tell me how I can fix that problem?''
-
-
-This should be a problem with NT itself. try restart the computer
-and then start openlink service from Control Panel/service manager
.
-
-*
-
-
-
-
-----
+Describe
[HowToMSSQL6OpenlinkPHPODBC
] here
.