0

我正在使用 DBD:ODBC 模块和 FreeTDS 使用 Perl 查询 MSSQL DB。

查询响应成功返回,但反斜杠字符\已从响应中删除。

因此,例如,应该读取的返回字段之一的文本中的 Windows 目录c:\some_dir\some_file正在返回c:some_dirsome_file。在我运行查询的同一个 linux 机器上使用 iSQL 或 tSQL 时,反斜杠字符会按预期出现。

关于如何让它不删除反斜杠或可能导致它的任何想法?

4

2 回答 2

0

以此为参考,似乎 MSSQL 将 读取\为强制换行符。我会推断,当 MSSQL 尝试返回字符串时,它只是删除了任何空格。

于 2013-08-14T20:26:00.690 回答
0

您能否向我们展示 isql 输出、perl 脚本并告诉我们包含 dir 路径的列类型。它在这里对我很好:

$ perl -MDBI -le '$h = DBI->connect("dbi:ODBC:baugi","xx","yy");eval {$h->do(q/drop table mje/)};$h->do(q/create table mje (a varchar(255))/);$h->do(q|insert into mje values(?)|, undef, q|c:\some_dir\some_file|); my $r = $h->selectall_arrayref(q/select * from mje/);use Data::Dumper;print Dumper($r);'
$VAR1 = [
          [
            'c:\\some_dir\\some_file'
          ]
        ];
于 2013-08-15T07:54:01.727 回答