我正在尝试在远程系统中创建数据库。相关代码如下
log = core.getLogger()
engine = create_engine('sqlite:////name:pass@192.168.129.139/tmp/nwtopology.db',echo=False)
Base = declarative_base()
Session = sessionmaker(bind=engine)
session = Session()
class SourcetoPort(Base):
""""""
__tablename__ = 'source_to_port'
id = Column(Integer, primary_key=True)
port_no = Column(Integer)
src_address = Column(String,index=True)
#-----------------------------------------
def __init__(self, src_address,port_no):
""""""
self.src_address = src_address
self.port_no = port_no
显然,我正在尝试在远程系统中创建数据库。我得到错误:
OperationalError: (OperationalError) unable to open database file None None
我的问题如下。
1)在本地机器上运行程序的用户与试图在远程机器上创建数据库的用户不同。这是个问题吗?
2)是否有任何机制可以改善将条目插入数据库以及通过创建本地缓存副本查询和条目的延迟?
问候,恋人。
sqlite不能在网络上使用,使用登录凭证,就像你连接MySQL或PostgreSQL一样;传递给create_engine
的正确连接字符串只是
engine = create_engine('sqlite:////tmp/nwtopology.db')
请参阅我对您其他相关问题的详细解释。
这里也有一些逐步指导如何安装和配置远程数据库。我建议你先试试MySQL——恕我直言,它比PosgreSQL简单。
- 如何在windows上安装mysql 如何在linux上安装mysql
youtube上也有一些视频指南
根据这一点,您可以使用以下表示法:
engine = create_engine('sqlite:///\\192.168.129.139\tmp\nwtopology.db',echo=False)
仍然不知道如何通过网络凭据,但至少可以通过这种方式访问远程文件。