为什么SQLite说它不能从文件中读取SQL?
我在一个文件中有一堆SQL,它创建表等等。问题是.read命令只是返回,当我尝试执行它时,它无法打开xxx。我已经为每个人设置了读/写权限,但这没有帮助。我可以从命令行对文件进行cat,并可以很好地查看它 这是在MacOS10.6.3下实现的 有人知道吗?谢谢 以下是中的源代码,其中sqlite3实用程序执行.read并尝试读取.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 ){
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字符,请尝试使用更简单的文件名。你可以编辑这篇文章来添加信息,一旦你有了它。