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

dgiusagp  于 2023-10-23  发布在  SQLite
关注(0)|答案(2)|浏览(133)

我在一个文件中有一堆SQL,它创建了表等等。问题是当我尝试执行.read命令时,它只是返回“can 't open xxx”。我已经将权限设置为每个人都读/写,但这没有帮助。我可以从命令行cat文件,并看到它的罚款。
在Mac OS 10.6.3下运行。
有人知道吗?谢谢你,谢谢

n53p2ov0

n53p2ov01#

下面是shell.c中的源代码,其中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

您可以看到,只有当对fopen的调用失败时,该实用程序才会打印“can't open xxx”。遗憾的是他们没有为你打印errno,但是这些信息应该真的可以帮助你缩小问题的范围,因为它不是特定于sqlite的。
您可能指定了错误的路径(尝试引用它),您没有权限,或者文件确实不存在(这意味着您使用cat.read的方式有所不同,比如当前目录不同)。

ao218c7q

ao218c7q2#

小心;到最后不喜欢读;'s.

相关问题