我有一个执行SQL查询的python脚本&从SQLite3数据库文件中获取信息。 SQLite3数据库文件驻留在与执行脚本不同的目录中。所有这些都发生在我的webhost(Unix服务器cpanel)上,来自cgi-bin目录。
我的问题/问题:是否可以让python脚本访问/连接到另一个目录中的SQLite3数据库?现在,当我在我的webhost上运行脚本时,它无法连接到SQLite3数据库。
我的python文件存在于webhost上的这个目录中:public_HTML / cgi-bin / dataMiner /。 SQLite3数据库文件存在于此目录public_HTML / cgi-bin /.
中我在python脚本中的代码是:
import DataMiner
def connect_ex( f_name ):
""" Post: """
try:
# When the script runs the file is never found but it actually does exist
if not os.path.isfile( f_name ):
raise Exception("")
conn = sqlite3.connect( f_name )
return conn
except IOError, msg:
#print str(msg)
return None
except OSError, msg:
#print str(msg)
return None
except sqlite3.OperationalError, msg:
#print str(msg)
return None
except Exception, e:
return None
conn = connect_ex("../competitionDB.db")
res = DataMiner.execute_query( conn, "SELECT * FROM MyTable;" )
print res
conn.close()
答案 0 :(得分:0)
使用我使用的数据库(firebird),您必须从服务器上的根目录指定数据库的完整路径
所以“/var/folder/wwww/db/dbfile.db”例如,/ var位于粗根文件夹
只是说它来自网站“db / dbfile.db”不会起作用(至少对火鸟来说)
为了安全起见,这也允许您将数据库文件放在甚至不在网站上的文件夹中。