Isso mesmo Osvaldo... estava procurando alguma configuração com a palavra "Escape" (acho que por isso não encontrei). Tudo funciona perfeitamente agora, e já vou colocar em produção.
Muito obrigado. -- Tiago J. Adami Dois Vizinhos - Paraná - Brasil 2009/7/31 Osvaldo Kussama <[email protected]> > 2009/7/31 Tiago Adami <[email protected]>: > > Olá, André. > > > > Para isso eu teria que modificar o programa e realizer diversos > "replaces" > > antes de mandá-lo para o banco de dados - e os usuários que abrem os > > chamados dificilmente vão se preocupar em digitar duas barras. A questão > é > > justamente se existe um meio mais "automático" através do driver ODBC ou > de > > alguma configuração no banco para realizar esta conversão. > > > > De qualquer forma, obrigado pela dica. > > > > -- > > Tiago J. Adami > > Dois Vizinhos - Paraná - Brasil > > > > > > 2009/7/31 Andre Fernandes <[email protected]> > >> > >> Boa tarde, Tiago, > >> > >> Tente trocar os caracteres de escape '\' por duas barras seguidas cada > >> '\\'. Assim não deverá ocorrer mais problemas. > >> > >> > >> > >> 2009/7/31 Tiago Adami <[email protected]> > >>> > >>> Caros colegas, existe alguma forma de tratar pelo PostgreSQL a gravação > >>> de caracteres de escape? > >>> > >>> O que está acontecendo é o seguinte: minha aplicação tem um campo do > tipo > >>> TEXT que recebe a descrição de um chamado de cliente, uma solicitação > >>> qualquer. Às vezes acontece de ser registrado um caminho de diretórios > do > >>> Windows, como por exemplo: > >>> > >>> "C:\Windows\System32" > >>> "D:\PostgreSQL\8.2" > >>> etc. > >>> > >>> Só que no banco de dados a barra invertida não está sendo gravada: > >>> > >>> "C:WindowsSystem32" > >>> "D:PostgreSQL8.2" > >>> > >>> E em alguns casos o próximo caractere junto com a barra invertida é > >>> substituído por um caractere "especial". > >>> > >>> Estou procurando a dias na documentação do PostgreSQL e do driver ODBC > >>> para ele, mas não encontro nada que possa fazer com que o caractere > barra > >>> invertida seja reconhecido como tal. Se eu precisar tratar na aplicação > e > >>> colocar E'\\' terei que re-escrever praticamente todas as rotinas do > >>> sistema... > >>> > > > Veja este parâmetro de configuração: > standard_conforming_strings > > http://www.postgresql.org/docs/current/interactive/runtime-config-compatible.html#GUC-STANDARD-CONFORMING-STRINGS > > bdteste=# SET standard_conforming_strings=on; > SET > bdteste=# SELECT E'C:\Windows\System32'; > ?column? > ------------------- > C:WindowsSystem32 > (1 registro) > > bdteste=# SELECT 'C:\Windows\System32'; > ?column? > --------------------- > C:\Windows\System32 > (1 registro) > > =========== > > bdteste=# SET standard_conforming_strings=off; > SET > bdteste=# SELECT E'C:\Windows\System32'; > ?column? > ------------------- > C:WindowsSystem32 > (1 registro) > > bdteste=# SELECT 'C:\Windows\System32'; > AVISO: uso de escape fora do padrão em cadeia de caracteres > LINE 1: SELECT 'C:\Windows\System32'; > ^ > HINT: Utilize a sintaxe de escape de cadeia de caracteres para > escapes, i.e., E'\r\n'. > ?column? > ------------------- > C:WindowsSystem32 > (1 registro) > > Osvaldo > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
