кто делал связку с ms sql server из под ubuntu, нужна ваша п

Операционки на базе Unix
zmey
Юзер
Юзер
Сообщения: 10
Зарегистрирован: 29 окт 2010, 23:54

кто делал связку с ms sql server из под ubuntu, нужна ваша п

Сообщение zmey » 06 дек 2011, 00:35

кто делал связку с ms sql server из под ubuntu, нужна ваша помощь !?!?!?
ставил все пакеты автоматом freetds, php-mssql и прочие.
постоянно выдает что не может связаться с базой.
помогите кто уже поднимал подобную связку или кинте ссылку на грамотный ман ???
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: кто делал связку с ms sql server из под ubuntu, нужна ва

Сообщение Raven » 06 дек 2011, 10:08

Связь-то хоть есть? телнет на mssql коннектится?
Я не злопамятный, я просто часто ковыряю логи
zmey
Юзер
Юзер
Сообщения: 10
Зарегистрирован: 29 окт 2010, 23:54

Re: кто делал связку с ms sql server из под ubuntu, нужна ва

Сообщение zmey » 06 дек 2011, 10:29

в самую первую очередь проверял !!!
может просто поделимся опытом настройки этого продукта ??
и общими усилиями решу свою проблему
Аватара пользователя
Gen1us2k
Модератор
Модератор
Сообщения: 771
Зарегистрирован: 02 мар 2010, 16:13

Re: кто делал связку с ms sql server из под ubuntu, нужна ва

Сообщение Gen1us2k » 06 дек 2011, 11:06

как бе лучше подробнее обрисовать картину...
Изображение
Home: Windows Heaven
Home: Debian 6
For Servers: Debian || RHEL Based || Gentoo || FreeBSD
zmey
Юзер
Юзер
Сообщения: 10
Зарегистрирован: 29 окт 2010, 23:54

Re: кто делал связку с ms sql server из под ubuntu, нужна ва

Сообщение zmey » 06 дек 2011, 11:26

в конфиге freetds пишу
[mssql]
host = 192.168.xx.xx
port = 1433
tds version = 8.0

сам скрипт для подключения для теста

<?php
$SQL_db_host = "192.168.xx.xx:1433";
$SQL_db_user = "x";
$SQL_db_pass = "xxx";
$SQL_db_name = "xxx";
$msconnect=mssql_connect($SQL_db_host, $SQL_db_user, $SQL_db_pass) or die ("Ошибка подключения к серверу баз данных MSSQL");
$msdb=mssql_select_db($SQL_db_name, $msconnect) or die ("Ошибка подключения к базе данных MSSQL!");

?>
zmey
Юзер
Юзер
Сообщения: 10
Зарегистрирован: 29 окт 2010, 23:54

Re: кто делал связку с ms sql server из под ubuntu, нужна ва

Сообщение zmey » 06 дек 2011, 11:30

лог freetds

log.c:190:Starting log file for FreeTDS 0.82
on 2011-12-03 02:22:11 with debug flags 0x4fff.
iconv.c:197:names for ISO-8859-1: ISO-8859-1
iconv.c:197:names for UTF-8: UTF-8
iconv.c:197:names for UCS-2LE: UCS-2LE
iconv.c:197:names for UCS-2BE: UCS-2BE
iconv.c:363:iconv to convert client-side data to the "ANSI_X3.4-1968" character set
iconv.c:516:tds_iconv_info_init: converting "US-ASCII"->"UCS-2LE"
iconv.c:516:tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
net.c:210:Connecting to 192.168.x.x port 1433 (TDS version 8.0)
net.c:264:tds_open_socket: connect(2) returned "Operation now in progress"
net.c:303:tds_open_socket() succeeded
util.c:162:Changed query state from DEAD to IDLE
login.c:735:quietly sending TDS 7+ login packet
token.c:312:tds_process_login_tokens()
net.c:592:Received header
0000 04 01 01 71 00 37 01 00- |...q.7..|

net.c:671:Received packet
0000 e3 1b 00 01 06 6d 00 61-00 73 00 74 00 65 00 72 |.....m.a .s.t.e.r|
0010 00 06 6d 00 61 00 73 00-74 00 65 00 72 00 ab 62 |..m.a.s. t.e.r..b|
0020 00 45 16 00 00 02 00 25-00 43 00 68 00 61 00 6e |.E.....% .C.h.a.n|
0030 00 67 00 65 00 64 00 20-00 64 00 61 00 74 00 61 |.g.e.d. .d.a.t.a|
0040 00 62 00 61 00 73 00 65-00 20 00 63 00 6f 00 6e |.b.a.s.e . .c.o.n|
0050 00 74 00 65 00 78 00 74-00 20 00 74 00 6f 00 20 |.t.e.x.t . .t.o. |
0060 00 27 00 6d 00 61 00 73-00 74 00 65 00 72 00 27 |.'.m.a.s .t.e.r.'|
0070 00 2e 00 06 53 00 45 00-52 00 56 00 45 00 52 00 |....S.E. R.V.E.R.|
0080 00 01 00 e3 08 00 07 05-09 04 d0 00 34 00 e3 17 |........ ....4...|
0090 00 02 0a 75 00 73 00 5f-00 65 00 6e 00 67 00 6c |...u.s._ .e.n.g.l|
00a0 00 69 00 73 00 68 00 00-ab 66 00 47 16 00 00 01 |.i.s.h.. .f.G....|
00b0 00 27 00 43 00 68 00 61-00 6e 00 67 00 65 00 64 |.'.C.h.a .n.g.e.d|
00c0 00 20 00 6c 00 61 00 6e-00 67 00 75 00 61 00 67 |. .l.a.n .g.u.a.g|
00d0 00 65 00 20 00 73 00 65-00 74 00 74 00 69 00 6e |.e. .s.e .t.t.i.n|
00e0 00 67 00 20 00 74 00 6f-00 20 00 75 00 73 00 5f |.g. .t.o . .u.s._|
00f0 00 65 00 6e 00 67 00 6c-00 69 00 73 00 68 00 2e |.e.n.g.l .i.s.h..|
0100 00 06 53 00 45 00 52 00-56 00 45 00 52 00 00 01 |..S.E.R. V.E.R...|
0110 00 ad 36 00 01 71 00 00-01 16 4d 00 69 00 63 00 |..6..q.. ..M.i.c.|
0120 72 00 6f 00 73 00 6f 00-66 00 74 00 20 00 53 00 |r.o.s.o. f.t. .S.|
0130 51 00 4c 00 20 00 53 00-65 00 72 00 76 00 65 00 |Q.L. .S. e.r.v.e.|
0140 72 00 00 00 00 00 09 00-10 73 e3 13 00 04 04 34 |r....... .s.....4|
0150 00 30 00 39 00 36 00 04-34 00 30 00 39 00 36 00 |.0.9.6.. 4.0.9.6.|
0160 fd 00 00 00 00 00 00 00-00 |........ .|

token.c:316:looking for login token, got e3(ENVCHANGE)
token.c:108:tds_process_default_tokens() marker is e3(ENVCHANGE)
dblib.c:325:db_env_chg(0x212f4ba0, 1, master, master)
token.c:316:looking for login token, got ab(INFO)
token.c:108:tds_process_default_tokens() marker is ab(INFO)
token.c:2451:tds_process_msg() reading message from server
token.c:2516:tds_process_msg() calling client msg handler
dbutil.c:86:_dblib_handle_info_message(0x212583c0, 0x212f4ba0, 0xbfc6dc90)
dbutil.c:87:msgno 5701: "Changed database context to 'master'."
token.c:2529:tds_process_msg() returning TDS_SUCCEED
token.c:316:looking for login token, got e3(ENVCHANGE)
token.c:108:tds_process_default_tokens() marker is e3(ENVCHANGE)
token.c:2281:tds_process_env_chg(): 5 bytes of collation data received
token.c:2282:tds->collation was
0000 00 00 00 00 00 - |.....|

iconv.c:985:setting server single-byte charset to "CP1252"
iconv.c:516:tds_iconv_info_init: converting "US-ASCII"->"CP1252"
token.c:2292:tds->collation now
0000 09 04 d0 00 34 - |....4|

token.c:316:looking for login token, got e3(ENVCHANGE)
token.c:108:tds_process_default_tokens() marker is e3(ENVCHANGE)
dblib.c:325:db_env_chg(0x212f4ba0, 2, , us_english)
token.c:316:looking for login token, got ab(INFO)
token.c:108:tds_process_default_tokens() marker is ab(INFO)
token.c:2451:tds_process_msg() reading message from server
token.c:2516:tds_process_msg() calling client msg handler
dbutil.c:86:_dblib_handle_info_message(0x212583c0, 0x212f4ba0, 0xbfc6dc90)
dbutil.c:87:msgno 5703: "Changed language setting to us_english."
token.c:2529:tds_process_msg() returning TDS_SUCCEED
token.c:316:looking for login token, got ad(LOGINACK)
token.c:316:looking for login token, got e3(ENVCHANGE)
token.c:108:tds_process_default_tokens() marker is e3(ENVCHANGE)
dblib.c:325:db_env_chg(0x212f4ba0, 4, 4096, 4096)
token.c:316:looking for login token, got fd(DONE)
token.c:108:tds_process_default_tokens() marker is fd(DONE)
token.c:2201:tds_process_end: more_results = 0
was_cancelled = 0
error = 0
done_count_valid = 0
token.c:2217:tds_process_end() state set to TDS_IDLE
token.c:2232: rows_affected = 0
token.c:393:leaving tds_process_login_tokens() returning 1
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to QUERYING
write.c:136:tds_put_string converting 19 bytes of "set textsize 64512 "
write.c:164:tds_put_string wrote 38 bytes
util.c:162:Changed query state from QUERYING to PENDING
net.c:779:Sending packet
0000 01 01 00 2e 00 00 00 00-73 00 65 00 74 00 20 00 |........ s.e.t. .|
0010 74 00 65 00 78 00 74 00-73 00 69 00 7a 00 65 00 |t.e.x.t. s.i.z.e.|
0020 20 00 36 00 34 00 35 00-31 00 32 00 20 00 | .6.4.5. 1.2. .|

token.c:495:tds_process_tokens(0x212f4ba0, 0xbfc6ddac, 0xbfc6dda8, 0x100)
util.c:162:Changed query state from PENDING to READING
net.c:592:Received header
0000 04 01 00 11 00 37 01 00- |.....7..|

net.c:671:Received packet
0000 fd 00 00 be 00 00 00 00-00 |........ .|

token.c:510:processing result tokens. marker is fd(DONE)
token.c:2201:tds_process_end: more_results = 0
was_cancelled = 0
error = 0
done_count_valid = 0
token.c:2217:tds_process_end() state set to TDS_IDLE
util.c:162:Changed query state from READING to IDLE
token.c:2232: rows_affected = 0
util.c:110:logic error: cannot change query state from IDLE to PENDING
token.c:495:tds_process_tokens(0x212f4ba0, 0xbfc6ddac, 0xbfc6dda8, 0x100)
token.c:498:tds_process_tokens() state is COMPLETED
dblib.c:237:dblib_add_connection(0x4b6340, 0x212f4ba0)
dblib.c:4208:dbsetopt(0x212f43d8, 14, 2, -1)
dblib.c:1372:dbclose(0x212f43d8)
dblib.c:256:dblib_del_connection(0x4b6340, 0x212f4ba0)
mem.c:563:tds_free_all_results()
util.c:162:Changed query state from IDLE to DEAD
dblib.c:303:dblib_release_tds_ctx(1)
dblib.c:5727:dbfreebuf(0x212f43d8)
dblib.c:718:dbloginfree(0x212aa178)
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: кто делал связку с ms sql server из под ubuntu, нужна ва

Сообщение Raven » 06 дек 2011, 14:08

zmey писал(а):freetds
А как завернут туда пых? ODBC?
И кстати, нгеплохо было бы обозреть весь freetds.conf
Я не злопамятный, я просто часто ковыряю логи
zmey
Юзер
Юзер
Сообщения: 10
Зарегистрирован: 29 окт 2010, 23:54

Re: кто делал связку с ms sql server из под ubuntu, нужна ва

Сообщение zmey » 06 дек 2011, 15:24

/etc/php5/apache2/php.ini блок отвечающий за mssql
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
;mssql.connect_timeout = 5
;mssql.timeout = 60
;mssql.textlimit = 4096
; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096
; Limits the number of records in each batch. 0 = all records in one batch.
;mssql.batchsize = 0
; Specify how datetime and datetim4 columns are returned
; On => Returns data converted to SQL server settings
; Off => Returns values as YYYY-MM-DD hh:mm:ss
;mssql.datetimeconvert = On
; Use NT authentication when connecting to the server
mssql.secure_connection = Off
; Specify max number of processes. -1 = library default
; msdlib defaults to 25
; FreeTDS defaults to 4096
;mssql.max_procs = -1
; Specify client character set.
; If empty or not set the client charset from freetds.comf is used
; This is only used when compiled with FreeTDS
;mssql.charset = "ISO-8859-1"
zmey
Юзер
Юзер
Сообщения: 10
Зарегистрирован: 29 окт 2010, 23:54

Re: кто делал связку с ms sql server из под ubuntu, нужна ва

Сообщение zmey » 06 дек 2011, 15:28

freetdc.conf
[global]
# TDS protocol version
tds version = 7.1
# 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
[egServer70]
host = ntmachine.domain.com
port = 1433
tds version = 7.0

[mssql]
host = 192.168.xx.xx
port = 1433
tds version = 7.1

тут ставил tds version = 8.0 но эффект тот-же, и в начале в глобал
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: кто делал связку с ms sql server из под ubuntu, нужна ва

Сообщение Raven » 06 дек 2011, 15:42

Код: Выделить всё

[global]
        tds version = 8.0
        initial block size = 512
        swap broken dates = no
        swap broken money = no
        try server login = yes
        try domain login = no
        cross domain login = no
        text size = 64512

[mssql]

host = 192.168.xx.xx
port = 1433
tds version = 8.0
Стоит попробовать подменить конфиг этим. Кстати версия mssql-сервера какая?
Я не злопамятный, я просто часто ковыряю логи
Ответить

Вернуться в «Unix»