Thread: Access issue again

Access issue again

From
Andreas
Date:
Hi,

whenever I ODBC link pg-tables into access I get this error in the log:
It's translated by me so it won't be the original english error text.
-----------------
2008-03-30 00:28:45 CET db_sales user1 WARNING:  not standardconform use
of \\ in  characterstring at char 264
2008-03-30 00:28:45 CET db_sales user1 TIP:  Use the Syntax for
Escape-strings for Backslashes, e.g. E'\\'.
------------------

Besides this error the linked tables seem to work perfectly.
Whats wrong here?


Re: Access issue again

From
Adrian Klaver
Date:
On Saturday 29 March 2008 4:50 pm, Andreas wrote:
> Hi,
>
> whenever I ODBC link pg-tables into access I get this error in the log:
> It's translated by me so it won't be the original english error text.
> -----------------
> 2008-03-30 00:28:45 CET db_sales user1 WARNING:  not standardconform use
> of \\ in  characterstring at char 264
> 2008-03-30 00:28:45 CET db_sales user1 TIP:  Use the Syntax for
> Escape-strings for Backslashes, e.g. E'\\'.
> ------------------
>
> Besides this error the linked tables seem to work perfectly.
> Whats wrong here?

See this:

http://www.postgresql.org/docs/8.3/interactive/runtime-config-compatible.html

escape_string_warning (boolean)

    When on, a warning is issued if a backslash (\) appears in an ordinary
string literal ('...' syntax) and standard_conforming_strings is off. The
default is on.

    Applications that wish to use backslash as escape should be modified to
use escape string syntax (E'...'), because the default behavior of ordinary
strings will change in a future release for SQL compatibility. This variable
can be enabled to help detect applications that will break.

standard_conforming_strings (boolean)

    This controls whether ordinary string literals ('...') treat backslashes
literally, as specified in the SQL standard. The default is currently off,
causing PostgreSQL to have its historical behavior of treating backslashes as
escape characters. The default will change to on in a future release to
improve compatibility with the standard. Applications can check this
parameter to determine how string literals will be processed. The presence of
this parameter can also be taken as an indication that the escape string
syntax (E'...') is supported. Escape string syntax should be used if an
application desires backslashes to be treated as escape characters.

You can change the escape_string_warning to escape_string_warning=False in
postgresql.conf to suppress the messages.
--
Adrian Klaver
aklaver@comcast.net

Re: Access issue again

From
Andreas
Date:
Adrian Klaver wrote:
> On Saturday 29 March 2008 4:50 pm, Andreas wrote:
>
>> Hi,
>>
>> whenever I ODBC link pg-tables into access I get this error in the log:
>> It's translated by me so it won't be the original english error text.
>> -----------------
>> 2008-03-30 00:28:45 CET db_sales user1 WARNING:  not standardconform use
>> of \\ in  characterstring at char 264
>> 2008-03-30 00:28:45 CET db_sales user1 TIP:  Use the Syntax for
>> Escape-strings for Backslashes, e.g. E'\\'.
>> ------------------
>>
>> Besides this error the linked tables seem to work perfectly.
>> Whats wrong here?
>>
>
> See this:
>
> http://www.postgresql.org/docs/8.3/interactive/runtime-config-compatible.html
>

OK I did a trace on the application and found that this message appears
not for every linked table but just for those that have an underscore
"_" within the table name, like  "my_table".
Nice to know but I can't help it.

I stuff the name and connectionstring into CreateTableDef and Access is
supposed to do the rest.
Somehow Access 2000 feels like internally escaping the underscores, I guess.

The same message appeares when I call RefreshLink on those TableDefs
thingies.

In your answer you pointed out that the message could be suppressed.
Though the issue will pop up again, as soon as the handling of those
strings will get changed within the server.
Now what ?


Regards
Andreas