pyodbc到MS访问连接字符串;它可以使用IP地址吗?

时间:2017-09-28 03:05:14

标签: python ms-access pyodbc

我编译程序以连接到ms访问数据库,如下所示:

conn_string = (
    r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
    r'DBQ=C:\folder_name\EVT_LOG.mdb;')

这样可以正常使用。

然后我尝试部署到远程服务器/客户端的情况,数据库位于客户端,服务器必须访问它,所以我修改了连接字符串如下:

conn_string = (
    r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
    r'DBQ=\\10.80.112.81\folder_name\EVT_LOG.mdb;')

这个找不到pyodbc.error数据源名称。有关在远程数据库上执行此pyodbc的任何想法吗?

1 个答案:

答案 0 :(得分:2)

是的,IP地址可以用作UNC路径中的服务器名称。必须可以从运行Python脚本的计算机上的Windows文件系统访问数据库文件,并且可以将其位置指定为本地文件...

C:\folder_name\EVT_LOG.mdb

...网络共享上的文件映射到驱动器号...

W:\some_folder\EVT_LOG.mdb

...使用服务器名称的UNC路径...

\\server_name\share_name\some_folder\EVT_LOG.mdb

...或使用服务器IP地址的UNC路径...

\\10.80.112.81\share_name\some_folder\EVT_LOG.mdb

但请注意,Windows文件共享(有时称为SMB或CIFS)几乎永远无法通过Internet直接访问,因此出于实际目的,托管数据库文件的服务器必须在您的本地网络上,在安全的WAN上,或通过VPN连接提供。在每种情况下,服务器很可能都是按名称提供的,因此不经常使用UNC路径的IP格式。

还要记住,文件必须可以使用Windows文件共享访问,而不是其他一些Internet协议,如HTTP,FTP等。