freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
Re: [freetds] PHP_5 odbc_prepare() SQL error: [FreeTDS][SQL Server]ASA Error -131: Syntax error near 'call'
- From: Frediano Ziglio <freddy77 AT gmail.com>
- To: "morry AT mail.plasticcard.com.ua" <morry AT mail.plasticcard.com.ua>, FreeTDS Development Group <freetds AT lists.ibiblio.org>
- Cc: FreeTDS mailing list <freetds AT lists.ibiblio.org>
- Subject: Re: [freetds] PHP_5 odbc_prepare() SQL error: [FreeTDS][SQL Server]ASA Error -131: Syntax error near 'call'
- Date: Fri, 16 Oct 2009 17:07:13 +0200
You forgot brackets. Odbc syntax is
{call store(parameters)}
Bye
freddy77
Inviato da iPhone
Il giorno 16/ott/2009, alle ore 14.52, morry <morry AT mail.plasticcard.com.ua > ha scritto:
I use the following configuration:
PHP_5.3.0 with iodbc
iODBC 3.52.6
FreeTDS (--with-tdsver=5.0 --with-iodbc=/usr/local --disable- threadsafe)
Sybase SQL Anywhere 7.0 on windows server
When php executes the following commands:
$link = odbc_connect($CONF['db_name'], $CONF['db_user_name'],
$CONF['db_password']);
$query = odbc_prepare($link, "call
dba.p_sel_prop_cert(null,null,null,null,null,null,null,null,?)");
I get the following error
Warning: odbc_prepare() [function.odbc-prepare]: SQL error:
[FreeTDS][SQL Server]ASA Error -131: Syntax error near 'call', SQL state
42W04 in SQLPrepare
FreeTDS.log
=== === === === === === === === === ====================================================================
17:54:19.158869 22040 (log.c:190):Starting log file for FreeTDS 0.82
on 2009-10-16 17:54:19 with debug flags 0xffff.
17:54:19.159116 22040 (iconv.c:363):iconv to convert client-side data to
the "windows-1251" character set
17:54:19.159259 22040 (iconv.c:432):tds_iconv_info_init: client charset
name "" unrecognized
17:54:19.159331 22040 (net.c:210):Connecting to 192.168.1.1 port 2638
(TDS version 5.0)
17:54:19.160182 22040 (net.c:264):tds_open_socket: connect(2) returned
"Operation now in progress"
17:54:19.160317 22040 (net.c:303):tds_open_socket() succeeded
17:54:19.160365 22040 (util.c:162):Changed query state from DEAD to IDLE
17:54:19.160435 22040 (net.c:779):Sending packet
0000 02 00 02 00 00 00 00 00-77 65 62 69 6b 2e 74 63 |........ webik.tc|
** skipped**
01f0 73 68 00 00 00 00 00 00-00 00 00 00 00 00 00 00 | sh...... ........|
17:54:19.162776 22040 (net.c:779):Sending packet
0000 02 01 00 61 00 00 00 00-00 00 00 00 00 00 0a 00 |...a.... ........|
0010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0020 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0030 00 00 00 00 00 00 00 00-00 00 00 00 01 35 31 32 |........ ..... 512|
0040 00 00 00 03 00 00 00 00-e2 16 00 01 09 00 08 0e |........ â.... ...|
0050 6d 7f ff ff ff fe 02 09-00 00 00 00 02 68 00 00 | m.ÿÿÿþ.. .....h..|
0060 00 - |.|
17:54:19.163281 22040 (token.c:312):tds_process_login_tokens()
17:54:19.167732 22040 (net.c:592):Received header
0000 04 01 00 5b 00 00 00 00- |...[....|
17:54:19.167865 22040 (net.c:671):Received packet
0000 e3 09 00 03 06 63 70 31-32 35 31 00 ad 22 00 05 |ã....cp1 251. "..|
0010 05 00 00 00 18 41 64 61-70 74 69 76 65 20 53 65 |.....Ada ptive Se|
0020 72 76 65 72 20 41 6e 79-77 68 65 72 65 07 00 00 |rver Any where...|
0030 00 e2 16 00 01 09 00 00-0e 61 01 ff ff fe e6 02 |.â...... .a.ÿÿþæ.|
0040 09 ff ff 00 00 02 68 00-00 0a fd 00 00 01 00 00 |.ÿÿ...h. ..ý.....|
0050 00 00 00 - |...|
17:54:19.168278 22040 (token.c:316):looking for login token, got
e3(ENVCHANGE)
17:54:19.168323 22040 (token.c:108):tds_process_default_tokens() marker
is e3(ENVCHANGE)
17:54:19.168398 22040 (token.c:2356):server indicated charset change to
"cp1251"
17:54:19.168469 22040 (iconv.c:985):setting server single-byte charset
to "CP1251"
17:54:19.168549 22040 (iconv.c:432):tds_iconv_info_init: client charset
name "" unrecognized
17:54:19.168624 22040 (iconv.c:477):tds_iconv_info_init: use memcpy to
convert "ISO-8859-1"->"CP1251"
17:54:19.168674 22040 (token.c:316):looking for login token, got
ad(LOGINACK)
17:54:19.168731 22040 (token.c:316):looking for login token, got
e2(CAPABILITY)
17:54:19.168773 22040 (token.c:108):tds_process_default_tokens() marker
is e2(CAPABILITY)
17:54:19.168819 22040 (token.c:316):looking for login token, got
fd(DONE)
17:54:19.168863 22040 (token.c:108):tds_process_default_tokens() marker
is fd(DONE)
17:54:19.168908 22040 (token.c:2201):tds_process_end: more_results = 0
was_cancelled = 0
error = 0
done_count_valid = 0
17:54:19.168959 22040 (token.c:2217):tds_process_end() state set to
TDS_IDLE
17:54:19.169002 22040 (token.c:2232): rows_affected = 0
17:54:19.169045 22040 (token.c:393):leaving tds_process_login_tokens()
returning 1
17:54:19.169102 22040 (mem.c:563):tds_free_all_results()
17:54:19.169147 22040 (util.c:162):Changed query state from IDLE to
QUERYING
17:54:19.169196 22040 (util.c:162):Changed query state from QUERYING to
PENDING
17:54:19.169238 22040 (net.c:779):Sending packet
0000 0f 01 00 21 00 00 00 00-21 14 00 00 00 00 73 65 |...!.... !.....se|
0010 74 20 74 65 78 74 73 69-7a 65 20 36 34 35 31 32 |t textsi ze 64512|
0020 20 - | |
17:54:19.169530 22040 (token.c:495):tds_process_tokens(0x7d07e200,
0xcfbe16f4, 0xcfbe16f8, 0x100)
17:54:19.169585 22040 (util.c:162):Changed query state from PENDING to
READING
17:54:19.169979 22040 (net.c:592):Received header
0000 04 01 00 11 00 00 00 00- |........|
17:54:19.170091 22040 (net.c:671):Received packet
0000 fd 00 00 01 00 00 00 00-00 |ý....... .|
17:54:19.170179 22040 (token.c:510):processing result tokens. marker is
fd(DONE)
17:54:19.170225 22040 (token.c:2201):tds_process_end: more_results = 0
was_cancelled = 0
error = 0
done_count_valid = 0
17:54:19.170273 22040 (token.c:2217):tds_process_end() state set to
TDS_IDLE
17:54:19.170315 22040 (util.c:162):Changed query state from READING to
IDLE
17:54:19.170357 22040 (token.c:2232): rows_affected = 0
17:54:19.170400 22040 (util.c:110):logic error: cannot change query
state from IDLE to PENDING
17:54:19.170444 22040 (token.c:495):tds_process_tokens(0x7d07e200,
0xcfbe16f4, 0xcfbe16f8, 0x100)
17:54:19.170517 22040 (token.c:498):tds_process_tokens() state is
COMPLETED
17:54:19.170615 22040 (odbc.c:5587):SQLGetInfo(0x85aaac00, 23,
0x862c4c6c, 2, 0x0)
17:54:19.170667 22040 (odbc.c:4841):_SQLGetInfo(0x85aaac00, 23,
0x862c4c6c, 2, 0x0
17:54:19.170718 22040 (odbc.c:5587):SQLGetInfo(0x85aaac00, 24,
0x862c4c6e, 2, 0x0)
17:54:19.170765 22040 (odbc.c:4841):_SQLGetInfo(0x85aaac00, 24,
0x862c4c6e, 2, 0x0
17:54:19.170978 22040 (odbc.c:1504):SQLAllocStmt(0x85aaac00, 0x7d07ee14)
17:54:19.171038 22040 (odbc.c:1403):_SQLAllocStmt(0x85aaac00,
0x7d07ee14)
17:54:19.171135 22040 (odbc.c:4079):SQLGetStmtAttr(0x7d07ec00, 10010,
0x7dcf6f14, 0, 0x0)
17:54:19.171186 22040 (odbc.c:3917):_SQLGetStmtAttr(0x7d07ec00, 10010,
0x7dcf6f14, 0, 0x0)
17:54:19.171241 22040 (odbc.c:4079):SQLGetStmtAttr(0x7d07ec00, 10011,
0x7dcf6bf4, 0, 0x0)
17:54:19.171290 22040 (odbc.c:3917):_SQLGetStmtAttr(0x7d07ec00, 10011,
0x7dcf6bf4, 0, 0x0)
17:54:19.171342 22040 (odbc.c:4079):SQLGetStmtAttr(0x7d07ec00, 10012,
0x7dcf6c94, 0, 0x0)
17:54:19.171392 22040 (odbc.c:3917):_SQLGetStmtAttr(0x7d07ec00, 10012,
0x7dcf6c94, 0, 0x0)
17:54:19.171444 22040 (odbc.c:4079):SQLGetStmtAttr(0x7d07ec00, 10013,
0x7dcf6bd4, 0, 0x0)
17:54:19.171529 22040 (odbc.c:3917):_SQLGetStmtAttr(0x7d07ec00, 10013,
0x7dcf6bd4, 0, 0x0)
17:54:19.171589 22040 (odbc.c:5587):SQLGetInfo(0x85aaac00, 8,
0xcfbe254c, 4, 0x0)
17:54:19.171637 22040 (odbc.c:4841):_SQLGetInfo(0x85aaac00, 8,
0xcfbe254c, 4, 0x0
17:54:19.171704 22040 (odbc.c:4124):SQLPrepare(0x7d07ec00, call
dba.p_sel_prop_cert(null,null,null,null,null,null,null,null,?), -3)
17:54:19.171770 22040 (odbc.c:4188):Creating prepared statement
17:54:19.171834 22040 (mem.c:563):tds_free_all_results()
17:54:19.171876 22040 (util.c:162):Changed query state from IDLE to
QUERYING
17:54:19.171926 22040 (util.c:162):Changed query state from QUERYING to
PENDING
17:54:19.171969 22040 (net.c:779):Sending packet
??? ??? ?????????????????????????????????????????????????????????????????????
0000 0f 01 00 77 00 00 00 00-e7 6c 00 01 00 0a 77 78 |...w.... çl... .wx|
0010 71 38 31 63 61 30 30 30-5d 00 63 72 65 61 74 65 | q81ca000 ].create|
0020 20 70 72 6f 63 20 77 78-71 38 31 63 61 30 30 30 | proc wx q81ca000|
0030 20 61 73 20 63 61 6c 6c-20 64 62 61 2e 70 5f 73 | as call dba.p_s|
0040 65 6c 5f 70 72 6f 70 5f-63 65 72 74 28 6e 75 6c |el_prop_ cert (nul|
0050 6c 2c 6e 75 6c 6c 2c 6e-75 6c 6c 2c 6e 75 6c 6c |l,null,n ull,null|
0060 2c 6e 75 6c 6c 2c 6e 75-6c 6c 2c 6e 75 6c 6c 2c |,null,nu ll,null,|
0070 6e 75 6c 6c 2c 3f 29 - |null,?)|
??? ??? ?????????????????????????????????????????????????????????????????????
17:54:19.172641 22040 (token.c:495):tds_process_tokens(0x7d07e200,
0xcfbe24b4, 0xcfbe24b8, 0x104)
17:54:19.172695 22040 (util.c:162):Changed query state from PENDING to
READING
17:54:19.173124 22040 (net.c:592):Received header
0000 04 01 00 61 00 00 00 00- |...a....|
17:54:19.173250 22040 (net.c:671):Received packet
0000 e7 0d 00 20 00 0a 77 78-71 38 31 63 61 30 30 30 |ç.. ..wx q81ca 000|
0010 e5 3d 00 66 00 00 00 00-0f 05 34 32 57 30 34 00 |å=.f.... ..42W 04.|
0020 01 00 28 00 41 53 41 20-45 72 72 6f 72 20 2d 31 |..(.ASA Error -1|
0030 33 31 3a 20 53 79 6e 74-61 78 20 65 72 72 6f 72 |31: Synt ax error|
0040 20 6e 65 61 72 20 27 63-61 6c 6c 27 00 00 00 00 | near 'c all'....|
0050 fd 02 00 01 00 00 00 00-00 |ý....... .|
17:54:19.173677 22040 (token.c:510):processing result tokens. marker is
e7(TDS5_DYNAMIC)
17:54:19.173743 22040 (token.c:2451):tds_process_msg() reading message
from server
17:54:19.173811 22040 (token.c:2516):tds_process_msg() calling client
msg handler
17:54:19.173856 22040 (odbc.c:2032):msgno 102 20003
17:54:19.173934 22040 (token.c:2529):tds_process_msg() returning
TDS_SUCCEED
17:54:19.173980 22040 (token.c:510):processing result tokens. marker is
fd(DONE)
17:54:19.174026 22040 (token.c:2201):tds_process_end: more_results = 0
was_cancelled = 0
error = 1
done_count_valid = 0
17:54:19.174074 22040 (token.c:2217):tds_process_end() state set to
TDS_IDLE
17:54:19.174117 22040 (util.c:162):Changed query state from READING to
IDLE
17:54:19.174160 22040 (token.c:2232): rows_affected = 0
17:54:19.174203 22040 (util.c:110):logic error: cannot change query
state from IDLE to PENDING
17:54:19.174249 22040 (token.c:495):tds_process_tokens(0x7d07e200,
0xcfbe24b4, 0xcfbe24b8, 0x104)
17:54:19.174296 22040 (token.c:498):tds_process_tokens() state is
COMPLETED
17:54:19.174380 22040 (error.c:574):SQLError(0x0, 0x0, 0x7d07ec00,
0xcfbe22f0, 0xcfbe22e8, 0xcfbe2300, 511, 0xcfbe22ee)
17:54:19.174441 22040 (error.c:510):_SQLGetDiagRec(3, 0x7d07ec00, 1,
0xcfbe22f0, 0xcfbe22e8, 0xcfbe2300, 511, 0xcfbe22ee)
17:54:19.175560 22040 (odbc.c:2005):SQLDisconnect(0x85aaac00)
17:54:19.175693 22040 (odbc.c:3769):_SQLFreeStmt(0x7d07ec00, 1, 1)
17:54:19.175772 22040 (mem.c:563):tds_free_all_results()
17:54:19.176036 22040 (util.c:162):Changed query state from IDLE to DEAD
17:54:19.176139 22040 (odbc.c:3680):SQLFreeHandle(2, 0x0x85aaac00)
17:54:19.176187 22040 (odbc.c:3706):_SQLFreeConnect(0x85aaac00)
17:54:19.176429 22040 (odbc.c:3680):SQLFreeHandle(1, 0x0x8282ff00)
17:54:19.176563 22040 (odbc.c:3744):_SQLFreeEnv(0x8282ff00)
=== === === === === === === === === ====================================================================
In the log i see no valid for sybase expression
create proc wxq81ca000
as call dba.p_sel_prop_cert(null,null,null,null,null,null,null,null,?)
Can anyone help me in my "grief"?
PS: Sorry for my English.
--
morry <morry AT mail.plasticcard.com.ua>
PlasticCard Ltd
_______________________________________________
FreeTDS mailing list
FreeTDS AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/freetds
-
[freetds] PHP_5 odbc_prepare() SQL error: [FreeTDS][SQL Server]ASA Error -131: Syntax error near 'call',
morry, 10/16/2009
- Re: [freetds] PHP_5 odbc_prepare() SQL error: [FreeTDS][SQL Server]ASA Error -131: Syntax error near 'call', Frediano Ziglio, 10/16/2009
Archive powered by MHonArc 2.6.24.