小编eas*_*arm的帖子

为什么我的DBD :: SQLite会出现语法错误,即使我的SQLite版本支持`CREATE TABLE IF NOT EXISTS`?

我使用SQLite v3编写Perl脚本.sqlite版本是3.3.6.

当我在命令行上运行sqlite时,它可以工作.但是当我在Perl中做同样的事情时,它会引发这个错误

DBD :: SQLite :: db失败:接近"NOT":文件行2675处dbdimp.c第268行的语法错误(1).

这就是我在控制台上所做的事情:

$ sqlite3 test.db
SQLite version 3.3.6
sqlite> create table if not exists  DATA_STATUS_VALUE (TYPE TEXT PRIMARY KEY, Seq INTEGER);
sqlite> .tables AllJobs            LOCKSTAT_VALUE     test_run12_data
DATA_STATUS_VALUE  STATUS_VALUE       test_run12_lock
Run Code Online (Sandbox Code Playgroud)

我正在使用的SQLite版本支持IF NOT EXISTS,为什么我会收到错误?

这是我的Perl代码:

#!/usr/bin/perl

use DBI;
my $driver = "SQLite";

$database = "test.db";
$dsn      = "DBI:$driver:dbname=$database";
$dbh      = DBI->connect( $dsn, undef, undef, { RaiseError => 1 } );

$dbh->do("CREATE TABLE IF NOT EXISTS DATA_STATUS_VALUE (TYPE TEXT PRIMARY KEY, Seq INTEGER);");
Run Code Online (Sandbox Code Playgroud)

sqlite perl

0
推荐指数
1
解决办法
502
查看次数

共享NFS主目录上的无密码ssh不起作用(centos 7)

我有一个7个节点的集群(All Centos 7 OS).主节点是maercher5,其余节点是从节点.我需要在主节点上设置无密码ssh到从节点以运行MPI程序.NFS将主节点从主节点共享到所有从节点.我按照本教程从主节点到从节点执行无密码ssh.我在所有机器上都有相同的UID和GID.由于在所有节点上只共享一个ssh文件夹.ssh文件夹的权限是:

$ ls -al  $HOME/.ssh
total 28
drwx------.  2 sarah sarah    76 Apr 16 21:17 .
drwx------. 17 sarah sarah  4096 Apr 17 13:51 ..
-rw-------.  1 sarah sarah 11895 Apr 16 21:17 authorized_keys
-rw-------.  1 sarah sarah  1679 Apr  3 00:55 id_rsa
-rw-r--r--.  1 sarah sarah   411 Apr 10 14:24 id_rsa.pub
-rw-------.  1 sarah sarah  2265 Apr 10 13:58 known_hosts
Run Code Online (Sandbox Code Playgroud)

节点可以很好地相互ping通.Marcher5是主节点.

[sarah@marcher5]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 …
Run Code Online (Sandbox Code Playgroud)

linux ssh nfs centos7

0
推荐指数
1
解决办法
4909
查看次数

标签 统计

centos7 ×1

linux ×1

nfs ×1

perl ×1

sqlite ×1

ssh ×1