{"id":1549,"date":"2018-01-19T19:22:58","date_gmt":"2018-01-19T19:22:58","guid":{"rendered":"http:\/\/goofy-trucks.flywheelsites.com\/odbc-socket-server\/"},"modified":"2018-01-19T19:24:52","modified_gmt":"2018-01-19T19:24:52","slug":"odbc-socket-server","status":"publish","type":"post","link":"https:\/\/phpbuilder.com\/odbc-socket-server\/","title":{"rendered":"ODBC Socket Server"},"content":{"rendered":"<div class=\"phpbuilder-content\">\n<div class=\"phpbuilder-meta\">\n<div class=\"\">By Tim Uckun<\/div>\n<div class=\"\">on December 6, 2000<\/div>\n<\/p><\/div>\n<div id=\"overflow-content\">\n<div class=\"articlePara\">\n<center><i>&#8220;System Administration: It&#8217;s a dirty job, but someone said I had to do it&#8221;<\/i><\/center><br \/>\n<center>Seen on a T-shirt<\/center><\/div>\n<div class=\"articlePara\">\nOne of the most commonly faced dilemmas of system administrators is making dissimilar<br \/>\noperating systems and tools work with each other. It is my hope that this article will<br \/>\nmake those system adminstrators&#8217; jobs a little easier when it comes to making Access and PHP work<br \/>\ntogether. <\/div>\n<div class=\"articlePara\">\nIf you want to use your Microsoft Access database with PHP you have a limited number of<br \/>\nmethods you can try. The most obvious one is to run PHP on Windows and use the ODBC<br \/>\nfunctions.  This is not an acceptable solution to many people because it forces you to<br \/>\nuse IIS and NT as your web server environment. For those preferring other operating systems,<br \/>\nthe most popular choice is an ODBC to ODBC bridge as sold by Openlink<br \/>\n(<a href=\"http:\/\/www.openlinksw.com\/\" target=\"_blank\">http:\/\/www.openlinksw.com\/<\/a>) and easysoft<br \/>\n(<a href=\"http:\/\/www.easysoft.com\/\" target=\"_blank\">http:\/\/www.easysoft.com\/<\/a>). Both of these products<br \/>\ncome with a limited version that you can download and use for free. I wanted a open source<br \/>\nalternative to these products and finally found what I was looking for in ODBCSocketServer<br \/>\n(<a href=\"http:\/\/odbc.linuxave.net\/\" target=\"_blank\">http:\/\/odbc.linuxave.net\/<\/a>). This tutorial will take<br \/>\nyou through configuring your machines and using the socket server.<\/div>\n<div class=\"articlePara\">\nIn order to accomplish this task, you are going to need two machines. One machine will have<br \/>\n the operating system of your choice, the web server of your choice and PHP on it. The other machine<br \/>\n  will have Windows, MS Access, and ODBC on it. The socketserver on<br \/>\nthe Windows machine will look for connections on a TCP\/IP port, PHP will generate XML<br \/>\ncommands and send them to the socket server.  The socket server will then execute the SQL<br \/>\nstatements in the commands and pass another XML document back to PHP.  Finally, PHP will parse<br \/>\nthe XML document and manipulate the resulting recordset. Here is a simple diagram.<\/div>\n<div class=\"articlePara\">\n<pre>\n   MS-Access                                 Browser\n      |                                         |\n   ODBC\/ADO                                 www server\n      |                                         |\n socket serverPHP\n                      XML Data\n Windows Machine                          Linux Machine\n <\/pre>\n<\/div>\n<div class=\"articlePara\">\nWhat is really interesting is that PHP does not need any database services compiled in only XML and<br \/>\nthe built in socket services are needed.<\/div>\n<div class=\"articlePara\">\nOk, lets get started. I will be referring to the Linux machine as the client and the windows<br \/>\nmachine as the server for the rest of this document.<\/div>\n<\/div>\n<p><\/p>\n<div style=\"float: left; padding:15px; color:#17AAF3\">\n<div style=\"background-color:#B6E5FC; font-size:16px; margin-top:1px; padding:1px 4px 1px 4px; color:#000; font-style:bold; float:left;\">1<\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"timuckun200012074658.html?page=2\">2<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"timuckun200012079ba9.html?page=3\">3<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"timuckun20001207fdb0.html?page=4\">4<\/a> <\/div>\n<div style=\"float:left; padding:2px;\"><a class=\"paginationPageLink\" href=\"timuckun200012074658.html?page=2\">Next Page \u00bb<\/a><\/div>\n<\/div>\n<p> Download: <a href=\"https:\/\/phpbuilder.com\/wp-content\/uploads\/2018\/01\/timuckun20001207.zip\">timuckun20001207.zip<\/a>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>System Administration: It&#8217;s a dirty job, but someone said I had to do<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1549","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/comments?post=1549"}],"version-history":[{"count":1,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1549\/revisions"}],"predecessor-version":[{"id":2413,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1549\/revisions\/2413"}],"wp:attachment":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/media?parent=1549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/categories?post=1549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/tags?post=1549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}