我用vb做客户端,Access做服务器端,请问连接连接字符串如何写,是不是要写具体的路径
还是用ODBC来配置?因为局域网的规模不大,所以能用Access来做服务器端的数据库吗??
还是用ODBC来配置?因为局域网的规模不大,所以能用Access来做服务器端的数据库吗??
解决方案 »
- 简单的access问题,可我不会
- 请问这个函数怎么用 GetGlyphOutline
- 请问怎样实现在程序中的注册功能呢
- 提问:关于在VB中调用Power builder 4 的 .DB 数据库的问题
- 求用vb2005开发wince程序时,链接数据库的方法和语句
- 毕业设计急求 用vb读Excel表,感谢大家啊
- 如何在VB中将MS-SQLSERVER的时间截取
- 怎样做登录页
- ****<<<<<< 注意:请大家不要向Wuxyingshu学习在VB灌水,灌水到水库去,小孩淹了怎么办?>>>>>=============
- 如何将文件保存到SQL Sever7.0中?
- 哪位大虾能提供一下十进制变十六进制的代码,先谢谢!
- 請問UCase$(strPathName) 與 UCase(strPathName)有何區別?
Dim rs As New ADODB.Recordset, cn As New ADODB.Connection将放ACCESS数据库的路径设置为共享,然后连接字符串如下:cn.ConnectionString = "DBQ=\\192.168.2.88\db\TelePhone.mdb;DefaultDir=" & _
App.Path & ";Driver={Microsoft Access Driver (*.mdb)};" & _
"DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;" & _
"MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;" & _
"Threads=3;UID=ADMIN;UserCommitSync=Yes;PWD=admind1234;"
cn.Open===================不过不建议在局域网内使用ACCESS数据库,在多人并发操作的时候容易损坏数据库文件,造成不必要的损失,推荐使用网络数据库,如:SQL SERVER、SYBASE或者ORACLE
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbfilename & ";Persist Security Info=False;"
conn.Open ConnectString因为局域网的规模不大,所以能用Access来做服务器端的数据库吗??
不合适。
什么意思??
vb是开发程序的,access是数据库两者不是一类的呀??
在server端实现getConnection,closeConnection,query,delete,update,insert...等接口,
然后利用DCOM,或者在客户端利用winsock控件来和服务端进行通讯,这样做的好处是客户端不必理会是什么数据库,只要接口不变,客户端就不必更新,最大限度的实现软件复用。
物料進銷存系統,約25個user同時使用,沒問題。
幾個月才有一次不正常。建議用DAO方式訪問。用JET方式,不要odbc.這樣速度還很快,顯示2萬行數據都快。
例: set db=dbengine.opendatabase("\\server\db$\db.mdb","pwd=xxx")
'以下提供 两类(DAO 和 ADO) 4 个连接 MDB 数据库的方法 :
'用 Data 控件访问有密码的 Access 数据库
With Data1
.DatabaseName = [数据库路径及名称]
.Connect = ";pwd=" + [数据库密码]
.RecordSource = [查询语句]
.Refresh
' ...
End With'用 DAO 访问有密码的 Access 数据库
Dim OpenDB As Database
Dim Rst As DAO.Recordset
Set OpenDB = DBEngine.Workspaces(0).OpenDatabase([数据库路径及名称], False, False, "MS Access;PWD=" + [数据密码])
Set Rst = OpenDB.OpenRecordset([查询语句], dbOpenSnapshot)
'...'用 ADO 访问有密码的 Access 数据库
Dim adoCnn As ADODB.Connection
Dim CnnRst As String
CnnRst = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" + [Access97、Access2000 数据库路径及名称] + " ;Persist Security Info=False;Jet OLEDB:Database Password=" + [数据库密码]
With adoCnn
If .State = adStateOpen Then .Close
.ConnectionString = CnnStr
.Open
If .State = adStateOpen Then
' 数据库打开成功
' ...
Else
' 数据库打开失败
' ...
End If
'说明:Microsoft.Jet.OLEDB.3.51 只支持 Access97,不支持 Access2000
' Microsoft.Jet.OLEDB.4.0 不仅支持 Access97,也支持 Access2000
End With'用 ADODC 控件访问有密码的 Access 数据库
With Adodc1
.ConnectionString = CnnStr
.CommandType = adCmdText
.RecordSource = [查询语句]
.Refresh
' ...
End With
'其中:[数据库路径和名称] 可以是你自己的机子上的某个数据库,也可以是局域网上的某个机子上的数据库,例如:[数据库路径和名称] = "D:\...\mydb.mdb" 或者 app.path+"\data\mydb.mdb" 或者 "192.168.0.27\d$\...\mydb.mdb" 均可;对于 "192.168.0.27\d$\...\mydb.mdb" 中的 d$ 是指你的 192.168.0.27 这台机子上的 d 盘(外加 $ 符号表示该盘你可以不必去有意识的共享也能让程序正常访问数据库 )'建议:你将上面的连接字符串事先保存在一配置文件中(如:DataPath.ini),你在程序启动时直接读取该连接字符串即可,这样,你的连接字符串可以动态的进行改变,其不美哉!