小编Use*_*er1的帖子

如何使用Perl的DBD :: Pg插入空字段?

我有一个Perl脚本根据管道分隔的文本文件将数据插入Postgres.有时,字段为空(如预期的那样).但是,Perl将此字段设置为空字符串,并且Postgres插入语句失败.

这是一段代码:


use DBI;

#Connect to the database.
$dbh=DBI->connect('dbi:Pg:dbname=mydb','mydb','mydb',{AutoCommit=>1,RaiseError=>1,PrintError=>1});

#Prepare an insert.
$sth=$dbh->prepare("INSERT INTO mytable (field0,field1) SELECT ?,?");

while (<>){
    #Remove the whitespace
    chomp;

    #Parse the fields.
    @field=split(/\|/,$_);

    print "$_\n";

    #Do the insert.
    $sth->execute($field[0],$field[1]);
}
Run Code Online (Sandbox Code Playgroud)

如果输入是:

a|1
b|
c|3

编辑:改为使用此输入.

a|1|x
b||x
c|3|x

它会失败的b|.

DBD::Pg::st execute failed: ERROR:  invalid input syntax for integer: ""

我只是想让它在field1上插入一个null.有任何想法吗?

编辑:我在最后一分钟简化了输入.旧的输入实际上由于某种原因使它工作.所以现在我将输入改为使程序失败的东西.另请注意,field1是可以为null的整数数据类型.

postgresql perl dbi

5
推荐指数
1
解决办法
8226
查看次数

简单的Emacs键绑定

我在Emacs中有两个操作:

  1. 创建一个新缓冲区并粘贴剪贴板. C-S-n
  2. 关闭当前缓冲区. C-S-w
  3. 切换到上次查看的缓冲区. C-TAB

在进行前两个操作时,我感觉自己像个键盘杂技演员.我认为值得尝试一些自定义键绑定和宏.

关于此定制的一些问题:

  1. 我如何为#1制作宏?
  2. 这些好的密钥绑定?(我知道这有点主观,但它们可能被我不使用的流行词使用.)
  3. 有没有人在Linux/Windows中找到一个C-TABAlt+ 一样的宏Tab?具体来说,我希望根据上次查看的时间戳(最近的时间点)有一堆缓冲区.我想继续在堆栈中循环,直到我放开Ctrl钥匙.当Ctrl按键被释放,我想当前缓冲区获取堆栈上的更新的位置.

emacs customization buffer key-bindings

5
推荐指数
1
解决办法
480
查看次数

使用 xargs 将 stdin 分配给变量

我真正想做的就是确保管道中的所有内容都成功并将最后一个标准输入分配给变量。考虑以下简化的场景:

x=`exit 1|cat`

当我跑步时declare -a,我看到这个:

declare -a PIPESTATUS='([0]="0")'

我需要某种方法来注意到exit 1,所以我将其转换为:

exit 1|cat|xargs -I {} x={}

declare -a给了我:

declare -a PIPESTATUS='([0]="1" [1]="0" [2]="0")'

这就是我想要的,所以我尝试看看如果exit 1没有发生会发生什么:

echo 1|cat|xargs -I {} x={}

但它失败了:

xargs: x={}: No such file or directory

有没有办法让 xargs 分配{}xPIPESTATUS其他工作并将标准输入分配给变量的方法怎么样?

注意:这些例子是简化的。我并没有真正执行exit 1echo 1a cat,而是使用这些命令进行简化,以便我们可以专注于我的特定问题。

bash pipe xargs

5
推荐指数
1
解决办法
9499
查看次数

在Emacs中的脚本中着色/缩进脚本

我经常有shell脚本调用其他脚本语言,如下所示:


#!/bin/bash
cat somefile|awk '
BEGIN
{
  #This line is not auto-indented and is colored as a string constant.
  ...
}
{
  #Same with this line.
  ...
}'

echo "More Bash code here."
...

有没有办法让Emacs将awk字符串识别为awk程序而不仅仅是字符串常量?

emacs bash awk text-indent text-coloring

5
推荐指数
1
解决办法
559
查看次数

Emacs桌面不记得TRAMP连接?

我使用emacs编辑几个不同服务器上的脚本和代码文件.TRAMP工作得非常好.但是,当我退出emacs时,我的所有tramp连接都会消失.我尝试了桌面保存模式,但是当我重新启动emacs时只显示本地文件.是否有一些包将记住tramp连接?这只是一个配置问题吗?

emacs

5
推荐指数
1
解决办法
1029
查看次数

如何编写程序来加速youtube播放

我想以更快的播放速度观看YouTube上的视频.前一阵子我问是否有一个可以加速视频播放的实用工具.唯一提到的是Windows的一个闭源项目.我不是Windows或封闭源的粉丝.

另一个答案提到您可以从YouTube下载视频并播放它们.不幸的是,这似乎不再起作用.我尝试了几个Firefox插件,但都无法下载.所以,现在我觉得我需要自己构建一些东西.我看到两个选择:

  1. 创建一个Firefox插件,允许我在播放时更改视频的播放速度.
  2. 查找Adobe的Flash播放器的开源代码替代方案,并更新源代码以获得可变的声音和视频播放速率.

我不确定是否有任何一个选项可以给我控制我想要的.我没有很多关于flash的经验,并且希望有经验的人可以提供从哪里开始的建议.

youtube flash firefox firefox-addon

5
推荐指数
1
解决办法
816
查看次数

如何强制 Emacs 流浪汉超时?

我在 emacs 中经常使用 TRAMP。然而,有时服务器宕机,流浪汉坐在那里等待超时。通常是C-x-f在以 ido 模式打开一个新文件之后。我必须等待令人讨厌的很长时间。有没有一种简单的方法可以告诉 TRAMP 超时并让 ido-mode 继续。我尝试C-g打开文件的选项从未发生过。

emacs tramp

5
推荐指数
1
解决办法
1558
查看次数

在Java中处理大字符串常量

在Java中处理大字符串常量的最佳方法是什么?

想象一下,我有一个SOAP的测试夹具,我想发送以下字符串:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <QuoteRequest xmlns="https://www.bcponline.co.uk">
            <header>
                <SourceCode>BN325</SourceCode>
                <MessageSource>B2B3</MessageSource>
                <Profile>B08A</Profile>
                <Password>AP3U86V</Password>
                <OperatorID>flightline</OperatorID>
                <ShowWebOptions>0</ShowWebOptions>
            </header>
            <serviceSelection>
                <ServiceProviderCode></ServiceProviderCode>
                <ProductCode>CarParking</ProductCode>
                <IATACode>lgw</IATACode>
            </serviceSelection>
            <quoteDetails>
                <DepartureDate>21-Jun-2005</DepartureDate>
                <DepartureTime>07:00</DepartureTime>
                <ReturnDate>28-Jun-2005</ReturnDate>
                <ReturnTime>07:00</ReturnTime>
                <QuoteReference></QuoteReference>
                <NoPax>1</NoPax>
            </quoteDetails>
            <sPostCode></sPostCode>
        </QuoteRequest>
    </soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

我宁愿不在每一行都加上引号和加号.如果我把它放在一个文件中它是额外的代码,并且在同一个文件中放置几个​​字符串会有些困难.XML在转义文本时遇到问题(我必须使用CDATA丑陋).有没有更简单的方法?

java string

5
推荐指数
1
解决办法
1491
查看次数

将Eclipse与低分辨率监视器一起使用

如今,许多经济型笔记本电脑的分辨率为800线或更低.我知道您可以插入外部显示器,但有时这不是一个选项(例如前往客户端站点).我习惯于使用两台巨大的显示器进行开发,并且在尝试使用笔记本电脑进行编码时感觉完全瘫痪.

所以,我的主要问题是这些低分辨率机器上的Eclipse用户.在Eclipse中,您使用哪些应对策略作为高效的编码器?例如,我注意到双击选项卡会全屏打开(这有利有弊).我可以按ctrl-shift-t弹出一个对话框来查找一个类(所以我不必在我的所有包中搜索它).我敢肯定,在笔记本电脑上使用多年Eclipse编码的人有一些他们觉得有用的技巧.如果你这样做,请在这里分享给大家.

谢谢

eclipse

5
推荐指数
1
解决办法
1113
查看次数

在eclipse中,maven依赖项覆盖了项目依赖项

我有一个使用几个"模块"的"主项目".这些模块位于pom.xml中,但我也将模块的代码作为Eclipse中的项目.我在"属性|项目引用"和"属性| Java构建路径"中将模块定义为项目依赖项.我还确保所有Eclipse项目都位于Java Build Path中的"Order and Export"的顶部.

主项目无法识别eclipse中模块的更改.当我按F3查看代码时,它会从我的.m2目录中打开java源代码.这显然忽略了我的Eclipse项目.我错过了一些设置吗?我该怎么办?

java eclipse maven

5
推荐指数
2
解决办法
2583
查看次数