Skip to Content.
Sympa Menu

freetds - Re: [freetds] unixODBC+FreeTDS isql query problems

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Crompton, SY (Shirley)" <s.y.crompton AT dl.ac.uk>
  • To: <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] unixODBC+FreeTDS isql query problems
  • Date: Fri, 30 Nov 2007 15:06:58 -0000

H jkl

Thanks for the info. I append the freeTDS log below for info. Not sure
if it helps, as it only contains trace for the tsql session and nothing
is logged for the isql session. The log file for unixODBC got nothing
it it at all. I have added ForceTrace = Yes to my odbc.ini file and the
log files all have public write permission.

--having two copies of <something> installed
How could I check for this?

And is there a manual for isql that I could learn about the tool?

I am a newbie to unixODBC/freeTDS and welcome any suggestions. thanks

S

14:19:23.716882 29816 (util.c:288):Starting log file for FreeTDS 0.64
on 2007-11-30 14:19:23 with debug flags 0xffff.
14:19:23.752664 29816 (iconv.c:195):names for ISO-8859-1: ISO-8859-1
14:19:23.752748 29816 (iconv.c:195):names for UTF-8: UTF-8
14:19:23.752779 29816 (iconv.c:195):names for UCS-2LE: UCS-2LE
14:19:23.752814 29816 (iconv.c:195):names for UCS-2BE: UCS-2BE
14:19:23.752842 29816 (iconv.c:361):iconv to convert client-side data to
the "UTF-8" character set
14:19:23.752922 29816 (iconv.c:514):tds_iconv_info_init: converting
"UTF-8"->"UCS-2LE"
14:19:23.752981 29816 (net.c:168):Connecting to 130.246.135.157 port
1433.
14:19:23.759768 29816 (net.c:673):Sending packet
0000 02 00 02 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ aaaaaaa.|
0010 64 6c 2e 61 63 2e 75 00-00 00 00 00 00 00 00 00 |aa.ac.uk ........|
0020 00 00 00 00 00 00 10 00-00 00 00 00 00 00 00 00 |.......a aaaaaaa.|
0030 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0040 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |......11 1111111.|
#connection details changed
0050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |.....378 76......|
0070 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0080 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0090 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |....TSQL ........|
00a0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
00b0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |...111.1 11.111.1|
00c0 35 37 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |11...... ........|
00d0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |..aaaaaa aaa.....|
00e0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
00f0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0100 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0110 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0180 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
0190 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
01a0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
01b0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
01c0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |........ ........|
01d0 00 09 04 02 00 00 54 44-53 2d 4c 69 62 72 61 72 |......TD S-Librar|
01e0 0a 00 00 00 00 00 0d 11-75 73 5f 65 6e 67 6c 69 |........ us_engli|
01f0 73 68 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |sh...... ........|

14:19:23.760236 29816 (net.c:673):Sending packet
0000 02 01 00 4c 00 00 00 00-00 00 00 00 00 00 0a 00 |...L.... ........|
0010 00 00 00 00 00 00 00 00-00 00 00 00 00 55 54 46 |........ .....UTF|
0020 2d 38 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |-8...... ........|
0030 00 00 00 00 00 00 00 00-00 00 00 05 01 35 31 32 |........ .....512|
0040 00 00 00 03 00 00 00 00-00 00 00 00 |........ ....|

14:19:23.760322 29816 (token.c:310):tds_process_login_tokens()
14:19:23.767617 29816 (net.c:446):Received header
0000 04 01 00 a0 00 39 01 00- |.....9..|

14:19:23.767729 29816 (net.c:542):Received packet
0000 e3 12 00 01 09 50 65 6f-70 6c 65 53 51 4c 06 6d |.....Peo pleSQL.m|
0010 61 73 74 65 72 ab 3b 00-45 16 00 00 02 00 28 00 |aster.;. E.....(.|
0020 43 68 61 6e 67 65 64 20-64 61 74 61 62 61 73 65 |Changed database|
0030 20 63 6f 6e 74 65 78 74-20 74 6f 20 27 50 65 6f | context to 'Peo|
0040 70 6c 65 53 51 4c 27 2e-07 50 45 4f 50 4c 45 32 |pleSQL'. .PEOPLE2|
0050 00 00 00 e3 09 00 03 05-69 73 6f 5f 31 01 01 ad |........ iso_1...|
0060 20 00 01 04 02 00 00 16-4d 69 63 72 6f 73 6f 66 | ....... Microsof|
0070 74 20 53 51 4c 20 53 65-72 76 65 72 00 00 5f 08 |t SQL Se rver.._.|
0080 00 ff e3 0a 00 04 03 35-31 32 04 34 30 39 36 fd |.......5 12.4096.|
0090 00 00 00 00 00 00 00 00- |........|

14:19:23.767884 29816 (token.c:314):looking for login token, got
e3(ENVCHANGE)
14:19:23.767909 29816 (token.c:105):tds_process_default_tokens() marker
is e3(ENVCHANGE)
14:19:23.767936 29816 (read.c:179):tds_get_string: reading 9 from wire
to give 9 to client.
14:19:23.767957 29816 (read.c:179):tds_get_string: reading 6 from wire
to give 6 to client.
14:19:23.767978 29816 (token.c:314):looking for login token, got
ab(INFO)
14:19:23.767997 29816 (token.c:105):tds_process_default_tokens() marker
is ab(INFO)
14:19:23.768016 29816 (token.c:2439):tds_process_msg() reading message
from server
14:19:23.768035 29816 (read.c:179):tds_get_string: reading 40 from wire
to give 40 to client.
14:19:23.768055 29816 (read.c:179):tds_get_string: reading 7 from wire
to give 7 to client.
14:19:23.768081 29816 (token.c:2501):tds_process_msg() calling client
msg handler
14:19:23.768101 29816 (token.c:2514):tds_process_msg() returning
TDS_SUCCEED
14:19:23.768119 29816 (token.c:314):looking for login token, got
e3(ENVCHANGE)
14:19:23.768137 29816 (token.c:105):tds_process_default_tokens() marker
is e3(ENVCHANGE)
14:19:23.768155 29816 (read.c:179):tds_get_string: reading 5 from wire
to give 5 to client.
14:19:23.768176 29816 (read.c:179):tds_get_string: reading 1 from wire
to give 1 to client.
14:19:23.768251 29816 (iconv.c:514):tds_iconv_info_init: converting
"UTF-8"->"ISO-8859-1"
14:19:23.768292 29816 (token.c:314):looking for login token, got
ad(LOGINACK)
14:19:23.768313 29816 (read.c:179):tds_get_string: reading 22 from wire
to give 22 to client.
14:19:23.768333 29816 (token.c:314):looking for login token, got
e3(ENVCHANGE)
14:19:23.768351 29816 (token.c:105):tds_process_default_tokens() marker
is e3(ENVCHANGE)
14:19:23.768370 29816 (read.c:179):tds_get_string: reading 3 from wire
to give 3 to client.
14:19:23.768413 29816 (read.c:179):tds_get_string: reading 4 from wire
to give 4 to client.
14:19:23.768435 29816 (token.c:314):looking for login token, got
fd(DONE)
14:19:23.768453 29816 (token.c:105):tds_process_default_tokens() marker
is fd(DONE)
14:19:23.768472 29816 (token.c:2143):tds_process_end: more_results = 0
was_cancelled = 0
error = 0
done_count_valid = 0
14:19:23.768491 29816 (token.c:2159):tds_process_end() state set to
TDS_IDLE
14:19:23.768509 29816 (util.c:119):Changing query state from IDLE to
IDLE
14:19:23.768529 29816 (token.c:387):leaving tds_process_login_tokens()
returning 1
14:19:23.768558 29816 (util.c:119):Changing query state from IDLE to
QUERYING
14:19:23.768577 29816 (mem.c:519):tds_free_all_results()
14:19:23.768599 29816 (util.c:119):Changing query state from QUERYING to
PENDING
14:19:23.768618 29816 (net.c:673):Sending packet
0000 01 01 00 1b 00 00 00 00-73 65 74 20 74 65 78 74 |........ set text|
0010 73 69 7a 65 20 36 34 35-31 32 20 |size 645 12 |

14:19:23.768674 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:23.775071 29816 (net.c:446):Received header
0000 04 01 00 11 00 39 01 00- |.....9..|

14:19:23.775218 29816 (net.c:542):Received packet
0000 fd 00 00 be 00 00 00 00-00 |........ .|

14:19:23.775277 29816 (token.c:526):processing result tokens. marker is
fd(DONE)
14:19:23.775326 29816 (token.c:2143):tds_process_end: more_results = 0
was_cancelled = 0
error = 0
done_count_valid = 0
14:19:23.775353 29816 (token.c:2159):tds_process_end() state set to
TDS_IDLE
14:19:23.775377 29816 (util.c:119):Changing query state from READING to
IDLE
14:19:23.775413 29816 (util.c:119):Changing query state from IDLE to
PENDING
14:19:23.775438 29816 (token.c:514):tds_process_tokens() state is
COMPLETED
14:19:35.972807 29816 (util.c:119):Changing query state from IDLE to
QUERYING
14:19:35.972952 29816 (mem.c:519):tds_free_all_results()
14:19:35.972981 29816 (util.c:119):Changing query state from QUERYING to
PENDING
14:19:35.973047 29816 (net.c:673):Sending packet
0000 01 01 00 27 00 00 00 00-73 65 6c 65 63 74 20 63 |...'.... select c|
0010 6f 75 6e 74 28 2a 29 20-66 72 6f 6d 20 76 73 53 |ount(*) from vsS|
0020 74 61 74 75 73 65 0a - |tatuse.|

14:19:35.973147 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:35.979870 29816 (net.c:446):Received header
0000 04 01 00 47 00 39 01 00- |...G.9..|

14:19:35.979917 29816 (net.c:542):Received packet
0000 aa 33 00 d0 00 00 00 01-10 20 00 49 6e 76 61 6c |.3...... . .Inval|
0010 69 64 20 6f 62 6a 65 63-74 20 6e 61 6d 65 20 27 |id objec t name '|
0020 76 73 53 74 61 74 75 73-65 27 2e 07 50 45 4f 50 |vsStatus e'..PEOP|
0030 4c 45 32 00 01 00 fd 02-00 fd 00 00 00 00 00 |LE2..... .......|

14:19:35.979982 29816 (token.c:526):processing result tokens. marker is
aa(ERROR)
14:19:35.980004 29816 (token.c:105):tds_process_default_tokens() marker
is aa(ERROR)
14:19:35.980027 29816 (token.c:2439):tds_process_msg() reading message
from server
14:19:35.980049 29816 (read.c:179):tds_get_string: reading 32 from wire
to give 32 to client.
14:19:35.980074 29816 (read.c:179):tds_get_string: reading 7 from wire
to give 7 to client.
14:19:35.980098 29816 (token.c:2501):tds_process_msg() calling client
msg handler
14:19:35.980148 29816 (token.c:2514):tds_process_msg() returning
TDS_SUCCEED
14:19:35.980180 29816 (token.c:526):processing result tokens. marker is
fd(DONE)
14:19:35.980220 29816 (token.c:2143):tds_process_end: more_results = 0
was_cancelled = 0
error = 1
done_count_valid = 0
14:19:35.980255 29816 (token.c:2159):tds_process_end() state set to
TDS_IDLE
14:19:35.980273 29816 (util.c:119):Changing query state from READING to
IDLE
14:19:35.980292 29816 (util.c:119):Changing query state from IDLE to
PENDING
14:19:35.980318 29816 (token.c:514):tds_process_tokens() state is
COMPLETED
14:19:40.637098 29816 (util.c:119):Changing query state from IDLE to
QUERYING
14:19:40.637229 29816 (mem.c:519):tds_free_all_results()
14:19:40.637258 29816 (util.c:119):Changing query state from QUERYING to
PENDING
14:19:40.637280 29816 (net.c:673):Sending packet
0000 01 01 00 28 00 00 00 00-73 65 6c 65 63 74 20 63 |...(.... select c|
0010 6f 75 6e 74 28 2a 29 20-66 72 6f 6d 20 76 73 53 |ount(*) from vsS|
0020 74 61 74 75 73 65 73 0a- |tatuses.|

14:19:40.637354 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:40.644006 29816 (net.c:446):Received header
0000 04 01 00 48 00 39 01 00- |...H.9..|

14:19:40.644061 29816 (net.c:542):Received packet
0000 aa 34 00 d0 00 00 00 01-10 21 00 49 6e 76 61 6c |.4...... .!.Inval|
0010 69 64 20 6f 62 6a 65 63-74 20 6e 61 6d 65 20 27 |id objec t name '|
0020 76 73 53 74 61 74 75 73-65 73 27 2e 07 50 45 4f |vsStatus es'..PEO|
0030 50 4c 45 32 00 01 00 fd-02 00 fd 00 00 00 00 00 |PLE2.... ........|

14:19:40.644128 29816 (token.c:526):processing result tokens. marker is
aa(ERROR)
14:19:40.644148 29816 (token.c:105):tds_process_default_tokens() marker
is aa(ERROR)
14:19:40.644170 29816 (token.c:2439):tds_process_msg() reading message
from server
14:19:40.644191 29816 (read.c:179):tds_get_string: reading 33 from wire
to give 33 to client.
14:19:40.644213 29816 (read.c:179):tds_get_string: reading 7 from wire
to give 7 to client.
14:19:40.644236 29816 (token.c:2501):tds_process_msg() calling client
msg handler
14:19:40.644287 29816 (token.c:2514):tds_process_msg() returning
TDS_SUCCEED
14:19:40.644328 29816 (token.c:526):processing result tokens. marker is
fd(DONE)
14:19:40.644366 29816 (token.c:2143):tds_process_end: more_results = 0
was_cancelled = 0
error = 1
done_count_valid = 0
14:19:40.644412 29816 (token.c:2159):tds_process_end() state set to
TDS_IDLE
14:19:40.644431 29816 (util.c:119):Changing query state from READING to
IDLE
14:19:40.644450 29816 (util.c:119):Changing query state from IDLE to
PENDING
14:19:40.644474 29816 (token.c:514):tds_process_tokens() state is
COMPLETED
14:19:46.402498 29816 (util.c:119):Changing query state from IDLE to
QUERYING
14:19:46.402619 29816 (mem.c:519):tds_free_all_results()
14:19:46.402655 29816 (util.c:119):Changing query state from QUERYING to
PENDING
14:19:46.402676 29816 (net.c:673):Sending packet
0000 01 01 00 28 00 00 00 00-73 65 6c 65 63 74 20 63 |...(.... select c|
0010 6f 75 6e 74 28 2a 29 20-66 72 6f 6d 20 76 77 53 |ount(*) from vwS|
0020 74 61 74 75 73 65 73 0a- |tatuses.|

14:19:46.402743 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:46.419070 29816 (net.c:446):Received header
0000 04 01 00 24 00 39 01 00- |...$.9..|

14:19:46.419157 29816 (net.c:542):Received packet
0000 a0 01 00 00 a1 06 00 0d-00 09 00 26 04 d1 04 11 |........ ...&....|
0010 00 00 00 fd 10 00 c1 00-01 00 00 00 |........ ....|

14:19:46.419196 29816 (token.c:526):processing result tokens. marker is
a0(COLNAME)
14:19:46.419222 29816 (mem.c:519):tds_free_all_results()
14:19:46.419251 29816 (token.c:526):processing result tokens. marker is
a1(COLFMT)
14:19:46.419287 29816 (token.c:1036):processing result. type =
38(integer-null), varint_size 1
14:19:46.419311 29816 (util.c:119):Changing query state from READING to
PENDING
14:19:46.419362 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:46.419396 29816 (token.c:526):processing result tokens. marker is
d1(ROW)
14:19:46.419428 29816 (util.c:119):Changing query state from READING to
PENDING
14:19:46.419459 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:46.419493 29816 (token.c:526):processing result tokens. marker is
d1(ROW)
14:19:46.419521 29816 (token.c:1863):tds_get_data: column 0, type 38,
varint size 1
14:19:46.419540 29816 (token.c:1920):processing row. column size is 4
14:19:46.419569 29816 (util.c:119):Changing query state from READING to
PENDING
14:19:46.419632 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:46.419662 29816 (token.c:526):processing result tokens. marker is
fd(DONE)
14:19:46.419709 29816 (token.c:2143):tds_process_end: more_results = 0
was_cancelled = 0
error = 0
done_count_valid = 1
14:19:46.419739 29816 (token.c:2159):tds_process_end() state set to
TDS_IDLE
14:19:46.419757 29816 (util.c:119):Changing query state from READING to
IDLE
14:19:46.419780 29816 (token.c:2175): rows_affected = 1
14:19:46.419798 29816 (util.c:119):Changing query state from IDLE to
PENDING
14:19:46.419817 29816 (token.c:514):tds_process_tokens() state is
COMPLETED
14:19:59.510701 29816 (util.c:119):Changing query state from IDLE to
QUERYING
14:19:59.510808 29816 (mem.c:519):tds_free_all_results()
14:19:59.510845 29816 (util.c:119):Changing query state from QUERYING to
PENDING
14:19:59.510871 29816 (net.c:673):Sending packet
0000 01 01 00 2c 00 00 00 00-73 65 6c 65 63 74 20 63 |...,.... select c|
0010 6f 75 6e 74 28 2a 29 20-66 72 6f 6d 20 76 77 53 |ount(*) from vwS|
0020 69 6e 67 6c 65 53 69 67-6e 4f 6e 0a |ingleSig nOn.|

14:19:59.510980 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:59.796534 29816 (net.c:446):Received header
0000 04 01 00 24 00 39 01 00- |...$.9..|

14:19:59.796638 29816 (net.c:542):Received packet
0000 a0 01 00 00 a1 06 00 0d-00 09 00 26 04 d1 04 f9 |........ ...&....|
0010 13 00 00 fd 10 00 c1 00-01 00 00 00 |........ ....|

14:19:59.796677 29816 (token.c:526):processing result tokens. marker is
a0(COLNAME)
14:19:59.796702 29816 (mem.c:519):tds_free_all_results()
14:19:59.796729 29816 (token.c:526):processing result tokens. marker is
a1(COLFMT)
14:19:59.796752 29816 (token.c:1036):processing result. type =
38(integer-null), varint_size 1
14:19:59.796774 29816 (util.c:119):Changing query state from READING to
PENDING
14:19:59.796826 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:59.796858 29816 (token.c:526):processing result tokens. marker is
d1(ROW)
14:19:59.796890 29816 (util.c:119):Changing query state from READING to
PENDING
14:19:59.796921 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:59.796981 29816 (token.c:526):processing result tokens. marker is
d1(ROW)
14:19:59.797002 29816 (token.c:1863):tds_get_data: column 0, type 38,
varint size 1
14:19:59.797027 29816 (token.c:1920):processing row. column size is 4
14:19:59.797047 29816 (util.c:119):Changing query state from READING to
PENDING
14:19:59.797095 29816 (util.c:119):Changing query state from PENDING to
READING
14:19:59.797123 29816 (token.c:526):processing result tokens. marker is
fd(DONE)
14:19:59.797162 29816 (token.c:2143):tds_process_end: more_results = 0
was_cancelled = 0
error = 0
done_count_valid = 1
14:19:59.797186 29816 (token.c:2159):tds_process_end() state set to
TDS_IDLE
14:19:59.797204 29816 (util.c:119):Changing query state from READING to
IDLE
14:19:59.797252 29816 (token.c:2175): rows_affected = 1
14:19:59.797271 29816 (util.c:119):Changing query state from IDLE to
PENDING
14:19:59.797306 29816 (token.c:514):tds_process_tokens() state is
COMPLETED
14:20:01.985096 29816 (mem.c:519):tds_free_all_results()
14:20:01.985231 29816 (util.c:119):Changing query state from IDLE to
DEAD
#inserted break after the tsql session
#next try the isql


--------------------------------

ISTR similar reports that were a result of a local configuration
problem,
having two copies of <something> installed. Just to keep in mind.

I think we'll need a TDSDUMP log of your session. If you're concerned
about proprietary data in the log, "SELECT name FROM systypes" will do.


ODBC also has a trace facility that might help.

HTH.

--jkl



> _____________________________________________
> From: Crompton, SY (Shirley)
> Sent: 29 November 2007 09:24
> To: 'freetds AT lists.ibiblio.org'
> Subject: RE: unixODBC+FreeTDS isql query problems
>
> Hi
>
> I am using unixODBC 2.2.11 and freetds-0.6.4-1.el4.rf (on RedHat
> linux) to access sql server 2000 on a windows machine. I can run
> several simple select statements from tsql. But when I use isql to
> test the connection, I can only run 1 query (the first one),
>
> Eg.
>
> Select count(*) from mytable
>
> --results from database deleted
>
>
> then all subsequent SQL fails with SQLRowCount returns 0
>
> Here are my configuration files:
>
> # /etc/freetds.conf
> [TDS]
> host = myipaddress
> port = 1433
> tds version = 8.0
>
> # /etc/odbc.ini
>
> [PEP]
> Driver = TDS
> Description = MSSQLSERVER
> Trace = Yes
> TraceFile = /tmp/people_mssql.log
> Server = myipaddress
> Database = Pep
> Port = 1433
>
> #/etc/odbcinst.ini
> [TDS]
> Description = FreeTDS driver
> Driver = /usr/lib/libtdsodbc.so
> Setup = /usr/lib/libtdsS.so.1
> Trace = Yes
> TraceUtil = /tmp/freetds.log
> FileUsage = 1
> UsageCount = 1
>
> Could you please tell me where I am going wrong? Many thanks
>
> Shirley
>




Archive powered by MHonArc 2.6.24.

Top of Page