Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么SQLite说它不能从文件中读取SQL?_Sqlite - Fatal编程技术网

为什么SQLite说它不能从文件中读取SQL?

为什么SQLite说它不能从文件中读取SQL?,sqlite,Sqlite,我在一个文件中有一堆SQL,它创建表等等。问题是.read命令只是返回,当我尝试执行它时,它无法打开xxx。我已经为每个人设置了读/写权限,但这没有帮助。我可以从命令行对文件进行cat,并可以很好地查看它 这是在MacOS10.6.3下实现的 有人知道吗?谢谢 以下是中的源代码,其中sqlite3实用程序执行.read并尝试读取.sql文件: if( c=='r' && strncmp(azArg[0], "read", n)==0 && nArg==2 ){

我在一个文件中有一堆SQL,它创建表等等。问题是.read命令只是返回,当我尝试执行它时,它无法打开xxx。我已经为每个人设置了读/写权限,但这没有帮助。我可以从命令行对文件进行cat,并可以很好地查看它

这是在MacOS10.6.3下实现的

有人知道吗?谢谢

以下是中的源代码,其中sqlite3实用程序执行.read并尝试读取.sql文件:

  if( c=='r' && strncmp(azArg[0], "read", n)==0 && nArg==2 ){
    FILE *alt = fopen(azArg[1], "rb");
    if( alt==0 ){
      fprintf(stderr,"can't open \"%s\"\n", azArg[1]);
    }else{
      process_input(p, alt);
      fclose(alt);
    }
  }else
您可以看到,该实用程序将仅在调用失败时打印无法打开xxx。遗憾的是,他们没有为您打印errno,但是这些信息确实可以帮助您缩小问题的范围,因为它不是特定于sqlite的

您可能指定的路径错误,请尝试引用它,您没有权限,或者文件确实不存在,这意味着您使用cat和.read的方式有所不同,就像当前目录不同一样。

这是中的源代码,sqlite3实用程序执行.read并尝试读取.sql文件:

  if( c=='r' && strncmp(azArg[0], "read", n)==0 && nArg==2 ){
    FILE *alt = fopen(azArg[1], "rb");
    if( alt==0 ){
      fprintf(stderr,"can't open \"%s\"\n", azArg[1]);
    }else{
      process_input(p, alt);
      fclose(alt);
    }
  }else
您可以看到,该实用程序将仅在调用失败时打印无法打开xxx。遗憾的是,他们没有为您打印errno,但是这些信息确实可以帮助您缩小问题的范围,因为它不是特定于sqlite的


您可能指定了错误的路径,请尝试引用它,您没有权限,或者该文件实际上不存在,这意味着您使用cat和.read的方式有所不同,就像当前目录不同一样。

请注意;最后。雷德不喜欢s、

当心天气;最后。雷德不喜欢s、

您能从命令行发布一份成绩单吗?首先更改目录并执行ls-l以在具有权限的目录中显示.sql文件。然后执行sqlite。然后execute.read文件我所见过的唯一一次无法打开xxx的情况是当我指定了错误的路径或者我没有权限时,所以我不能马上确定。尝试在.read命令中引用文件名。如果文件中有非ASCII字符,请尝试使用更简单的文件名。您可以编辑此帖子以添加信息。您可以从命令行发布成绩单吗?首先更改目录并执行ls-l以在具有权限的目录中显示.sql文件。然后执行sqlite。然后execute.read文件我所见过的唯一一次无法打开xxx的情况是当我指定了错误的路径或者我没有权限时,所以我不能马上确定。尝试在.read命令中引用文件名。如果文件中有非ASCII字符,请尝试使用更简单的文件名。你可以编辑这篇文章来添加信息,一旦你有了它。