Thread: Insert path fails
Hello- I am running PostgreSQL 7.2.1 on i386-portbld-freebsd4.6. I'm connecting from a program on windows nt 4.0, using the 7.02.00.05 ver. of PGSQL-ODBC drivers. When I try to insert a windows UNC path: \\RAID\Raid\control tiffs\50_gray.tif into the database, I end up with this: \RAIDRaidcontrol tiffs(_gray.tif Here is the relevent stuff from the psqlodbc file: conn=215355400, query='Insert Into Images(OrderID,Roll,Frame,ImageType,Path,Category,Sequence,Gamma,Width, Length,Filetype,PreviewWidth,PreviewLength,CropX,CropY,CropWidth,CropLength) Values('me','control tiffs','50_gray',0,'\\RAID\Raid\control tiffs\50_gray.tif' ,'All',0,1.0,2000,2500,'TIFF',400,500,50.0,50.0,100.0,100.0)' Why does this insert the wrong value into the database? Thanks -Steve
> -----Original Message----- > From: Steven Sluter > > Hello- > > I am running PostgreSQL 7.2.1 on i386-portbld-freebsd4.6. I'm connecting > from a program on windows nt 4.0, using the 7.02.00.05 ver. of PGSQL-ODBC > drivers. > > When I try to insert a windows UNC path: > > \\RAID\Raid\control tiffs\50_gray.tif > > > into the database, I end up with this: > > \RAIDRaidcontrol tiffs(_gray.tif It's a spec of PostgreSQL. The ODBC driver passes the query as is. regards, Hiroshi Inoue
--- Steven Sluter <loverman@sidehack.gweep.net> wrote: > Hello- > > I am running PostgreSQL 7.2.1 on > i386-portbld-freebsd4.6. I'm connecting > from a program on windows nt 4.0, using the > 7.02.00.05 ver. of PGSQL-ODBC > drivers. > > When I try to insert a windows UNC path: > > \\RAID\Raid\control tiffs\50_gray.tif > > > into the database, I end up with this: > > \RAIDRaidcontrol tiffs(_gray.tif The backslash is an escape character in PostgreSQL, and is stripped off at parsing time. Your alternatives are: * Double every backslash you want to preserve, i.e. \\\\RAID\\Raid\\control tiffs\\50_gray.tif * Add extra quotes (a mess, don't even try it) * Use the quote_literal() function, which causes PostgreSQL to accept the text as-is: e.g. INSERT INTO <table> (<field>) VALUES quote_literal('text goes here') __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com