Problem connecting to SQL Server from PHP (localhost and port 4000 are used)

"Jaime Stuardo" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Organization DESYTEC - Development, Systems & Technologies
Message-ID <002201ccf247$53f3ace0$fbdb06a0$@com>
Hello. I am new to this list. I came here because of a problem I have with
FreeTDS to connect to SQL Server.

 

I am trying this PHP code:

 

    $dbh = new PDO("dblib:desytecSQL:1433;dbname=CONTRATOS_AGD",

                    "$username",

                    "$password"

    );

 

I got 2 problems I saw in/tmp/freetds.log file:

 

.         The driver is trying to connect to localhost

.         The driver is trying to connect to port 4000

 

I solved he port problem by setting the environment variable (as a patch
really, because the connection is correctly configured to use port 1433)

 

I don't know where FreeTDS is extracting the server localhost. I am running
the test PHP page under root account.

 

This is the /usr/local/etc/freetds.conf file. My connection is called:
"desytecSQL"

 

#   $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $

#

# This file is installed by FreeTDS if no file by the same 

# name is found in the installation directory.  

#

# For information about the layout of this file and its settings, 

# see the freetds.conf manpage "man freetds.conf".  

 

# Global settings are overridden by those in a database

# server specific section

[global]

        # TDS protocol version

;              tds version = 4.2

 

                # Whether to write a TDSDUMP file for diagnostic purposes

                # (setting this to /tmp is insecure on a multi-user system)

;              dump file = /tmp/freetds.log

;              debug flags = 0xffff

 

                # Command and connection timeouts

;              timeout = 10

;              connect timeout = 10

                

                # If you get out-of-memory errors, it may mean that your
client

                # is trying to allocate a huge buffer for a TEXT field.  

                # Try setting 'text size' to a more reasonable limit 

                text size = 64512

 

# A typical Sybase server

[egServer50]

                host = symachine.domain.com

                port = 5000

                tds version = 5.0

 

# A typical Microsoft server

[desytecSQL]

                #host = 10.10.20.171

        host = OFICINA-DESYTEC

                port = 1433

                tds version = 7.2

 

This is my /usr/local/etc/odbc.ini file:

 

[ODBC Data Sources]

desytecSQL = MS SQL Server

 

[desytecSQL]

Driver = FreeTDS

Description = MS SQL Server

Server = OFICINA-DESYTEC

Database = CONTRATOS_AGD

User = sa

Password = N1C0kr02004

port = 1433

TDS_Version = 7.2

 

And finally, this is my /usr/local/etc/odbcinst.ini

 

[FreeTDS]

Driver=/usr/local/lib/libtdsodbc.so

Threading=1

UsageCount=2

 

This is what 

log.c:196:Starting log file for FreeTDS 0.91

        on 2012-02-23 12:45:05 with debug flags 0x4fff.

config.c:714:Setting 'dump_file' to '/tmp/freetds.log' from $TDSDUMP.

config.c:725:Setting 'port' to 1433 from $TDSPORT.

iconv.c:330:tds_iconv_open(0xa311af0, UTF-8)

iconv.c:187:local name for ISO-8859-1 is ISO-8859-1

iconv.c:187:local name for UTF-8 is UTF-8

iconv.c:187:local name for UCS-2LE is UCS-2LE

iconv.c:187:local name for UCS-2BE is UCS-2BE

iconv.c:349:setting up conversions for client charset "UTF-8"

iconv.c:351:preparing iconv for "UTF-8" <-> "UCS-2LE" conversion

iconv.c:391:preparing iconv for "ISO-8859-1" <-> "ISO-8859-1" conversion

iconv.c:394:tds_iconv_open: done

net.c:205:Connecting to 127.0.0.1 port 1433 (TDS version 5.0)

net.c:270:tds_open_socket: connect(2) returned "Operation now in progress"

net.c:306:getsockopt(2) reported: Connection refused

net.c:316:tds_open_socket() failed

util.c:331:tdserror(0xa1acf68, 0xa311af0, 20009, 111)

dblib.c:7929:dbperror(0xa311938, 20009, 111)

dblib.c:7981:20009: "Unable to connect: Adaptive Server is unavailable or
does $

dblib.c:5780:dbgetuserdata(0xa311938)

dblib.c:8002:"Unable to connect: Adaptive Server is unavailable or does not
exi$

util.c:361:tdserror: client library returned TDS_INT_CANCEL(2)

util.c:384:tdserror: returning TDS_INT_CANCEL(2)

dblib.c:1443:dbclose(0xa311938)

dblib.c:258:dblib_del_connection(0x9a9460, 0xa311af0)

mem.c:615:tds_free_all_results()

dblib.c:305:dblib_release_tds_ctx(1)

dblib.c:5882:dbfreebuf(0xa311938)

dblib.c:739:dbloginfree(0xa311290)

dblib.c:1512:dbexit(void)

dblib.c:1512:dbexit(void)

dblib.c:305:dblib_release_tds_ctx(1)

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^$

mem.c:615:tds_free_all_results()

util.c:156:Changed query state from IDLE to DEAD

odbc.c:4040:SQLFreeConnect(0xa314d48)

odbc.c:4006:_SQLFreeConnect(0xa314d48)

odbc.c:4063:SQLFreeEnv(0xa314be8)

odbc.c:4050:_SQLFreeEnv(0xa314be8)

 

 

By the way, OFICINA-DESYTEC host does respond:

 

[root@Linux etc]# ping oficina-desytec

PING OFICINA-DESYTEC (192.168.2.9) 56(84) bytes of data.

64 bytes from OFICINA-DESYTEC (192.168.2.9): icmp_seq=1 ttl=128 time=0.284
ms

64 bytes from OFICINA-DESYTEC (192.168.2.9): icmp_seq=2 ttl=128 time=0.268
ms

64 bytes from OFICINA-DESYTEC (192.168.2.9): icmp_seq=3 ttl=128 time=0.297
ms

64 bytes from OFICINA-DESYTEC (192.168.2.9): icmp_seq=4 ttl=128 time=0.275
ms

 

Any help will be greatly appreciated,

 

Thanks

Jaime
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.