数据库服务器为来自本地主机或远程客户端的所有请求提供服务 并且要监听任何请求,数据库服务器必须在端口上运行以侦听该端口上的请求。
据我所知,Microsoft访问不在任何端口上运行, 并且无法使用
在远程计算机上请求Microsoft访问DriverManager.getConnection("URL", "user", "password");
但如果您的数据源是MySql,Oracle等,则可能......使用
DriverManager.getConnection("jdbc:mysql://ipAddress:portNo./schemaName", "user", "password");
(如果我错了,请纠正我)。
请大家帮我解决这个概念,微软访问天气
仅用于存储数据的文件(因为它不在任何端口上运行),
或数据库服务器 (因为可以使用Microsoft访问Type-1驱动程序, 这意味着它必须是数据源,因为驱动程序仅适用于数据源。)
答案 0 :(得分:3)
Access不提供文件共享之外的网络连接。没有“访问”端口。
答案 1 :(得分:3)
Access不是一个开始的数据库。
这是一个应用程序开发环境,附带默认数据库引擎Jet(或A2007中的ACE,它只是Jet的更新版本),并使用Jet MDB或ACE ACCDB来存储其应用程序对象。
您的问题与访问无关。它是关于Jet数据库引擎的。
Jet不是服务器数据库。服务器上没有运行进程,通过该进程管理与Jet数据存储的所有通信。
相反,Jet是一个基于文件的数据库系统。每个用户在内存中本地运行Jet,并以共享模式打开数据库文件。通过LDB文件管理数据库文件的锁定。
ODBC不为Jet数据提供服务器功能。它只是文件的另一个用户。
答案 2 :(得分:2)
Microsoft Access数据库可以通过ODBC或使用共享文件系统使用,因此从这个角度来看,它们可以被视为多用户数据库。
从这个角度来看,这不是一个真正的数据库服务器,没有一个位置可以为客户端提供查询服务。除非您使用ODBC,否则每个“客户端”都拥有自己的数据库引擎副本。
Access不是为许多用户设计的,并且在讨论数据库服务器时没有通常想到的许多属性。包括可扩展性和健壮性。
答案 3 :(得分:1)
MS Access是一个基于文件的数据库系统,但从技术上讲,许多其他数据库系统也是如此。例如,SQL Server将其数据存储在单个文件中,其行为方式与Access非常相似。然后,SQL Server还有更多其他功能。
但Access是数据库服务器吗?那么,这取决于您对服务器应该做什么的定义。通过编写一些代码将您的数据“提供”到某个客户端应用程序,可以创建Access数据库并为其提供类似服务器的功能。去过也做过。实际上,Access过去一直很受欢迎,因为数据库可以作为数据库来实现。在论坛或留言簿上运行。
为了使事情变得更有趣,可以通过COM访问Access数据库。并且可以在远程系统上创建COM对象。因此,从理论上讲,通过ADO,您可以在另一台计算机上访问Access数据库。
如果需要,Access还可以合理地处理多个用户并提供一些基本安全性。
MS Access也不仅仅是一种数据库文件格式,尽管大多数人都会忘记这一点。 MS Access是MS Office的一部分,因此它提供的功能远远超过基于文件的数据库系统。 (再说一遍,如果你从Corel购买完整的产品而不仅仅是使用数据库文件和驱动程序,那么即使Paradox也不仅仅是一个基于文件的数据库。)
不过,“服务器”一词可能令人困惑。您不需要在端口上运行某些东西就可以使它成为服务器。基本上,数据库服务器只是为其他程序和计算机提供数据库服务的程序。使用Access,您可以从技术上做到这两点,所以是的:Access是一个数据库服务器。 (虽然是一个非常原始的。)答案 4 :(得分:1)
在确定某些东西是否是服务器时,它是否有端口的问题是一个红色的鲱鱼。端口只是进程间通信的一种手段。正如其他人已经指出的那样,其他服务器使用命名管道或共享内存来与客户端进行通信。
真正构成服务器的架构特性是进程隔离。无论您是在谈论Web服务器,数据库服务器还是X Windows等显示服务器,都是如此。在每种情况下,您都需要非常仔细地保护一些重要的资源。因此,除了一些选择过程之外,您不会让它接触它。如果另一个进程想要访问该资源,则他们无法直接使用它。他们必须向服务器进程发送一条消息,“嘿服务器请在Y上执行操作X并将结果发送给我”。用于发送消息的信道相对不重要,关键是一些独立的过程负责管理资源。与Access对比(或者有人更准确地指出了Jet数据库引擎)。如果您的应用程序使用Access数据库,那么您的进程打开文件处理数据库,执行记录锁定,并执行索引查找。这很容易被多层库调用隐藏起来,它可能涉及到内核空间的许多切换,但最终它仍然是你的进程,它正在获得所有CPU周期并完成所有工作。即使您通过ODBC访问Access数据库也是如此,这实际上只是另一层库调用。
答案 5 :(得分:0)
AFAIK,MS Access是一个数据库,您可以通过ODBC等连接到它,但它不是SQLServer,MySQL,Postgres或Oracle是数据库服务器的数据库服务器。
答案 6 :(得分:0)
Access是一个可以通过JET引擎或许多其他人附加到的文件。但它是一个档案。这意味着,如果有太多人试图连接到它,就会有一些故事,它会变得腐败,整个数据库都会丢失!它并不像你提到的其他数据库引擎那么强大。
答案 7 :(得分:0)
它不在端口上运行。这只是一个档案。
答案 8 :(得分:0)
如果您将文件放在Windows文件共享上,那么协议是SMB,端口是445.带有该文件的计算机称为文件服务器,所以从某种意义上说,它是一个服务器应用程序,但是MS-Access不是服务器,SMB位是。真正的SQL服务器不会做的事情是管理并发访问。