vb和asp如何用remote访问远程数据库
引自:http://blog.csdn.net/yizia/archive/2006/09/19/1248669.aspx
访问远程数据库的情况有以下几种:
1)访问远程数据库的access数据库
2)访问远程mssql数据库或oracle等其他关系数据库,但是数据库通信端口被防火墙阻挡或其他网络原因造成无法使用该端口
本文仅在windows2000 advance server,mdac2.8下测试通过,其余条件不保证能正常运行
在mdac的Service Providers中包括Microsoft OLE DB Persistence Provider,Microsoft OLE DB Remoting Provider,等等,就不详细说了
,我们今天要用到的是Microsoft OLE DB Remoting Provider。
看一下MS Remote的范例:
MS Remote - Access (Jet)
i)ODBC DSN:
oConn.Open "Remote Server=http://<ServerName>;" & _ //服务器域名或ip,如果在局域网就是服务器名字
"Remote Provider=MSDASQL;" & _
"DSN=AdvWorks;" & _ //注意,这里的odbc是指服务器端的
"Uid=admin" & _ //访问该odbc指向数据库的用户名
"Pwd=;" //见上,密码
ii)OLE DB Provider:
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\somepath\mydb.mdb;", _
"admin", ""
iii)OLE DB Provider自定义事务对象
oConn.Open "Provider=MS Remote;" & _
"Remote Server=http://carl2;" & _
"Handler=MSDFMAP.Handler;" & _
相关文档:
代码如下:
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As
Long, ByVal hWndInsertAfter As Long,& _
ByVal X As Long, ByVal Y As
Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long & _
&n ......
Private Sub Form_load()
'判断程序是否已经运行
If App.PrevInstance
Then
MsgBox "本程序已经运行!", vbInformation Or vbOKOnly, "提示信息"
Unload
Me
Exit Sub
&n ......
Access 连接字符串
strConnect = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyDatabase.mdb;”
Access 2007 连接字符串
strConnect = “Provider=Microsoft.ACE.OLEDB.12.0;Mode=Share Exclusive;Data Source=C:\MyDatabase.accdb;”
MSSQL Server 连接字符串
strConnect = &ldquo ......
我写了一个表单就是用来向数据库中添加数据的 action=post.asp method=post
然后再post.asp当中我又通过request.form获取了相应的值,然后添加的数据库当中
所有的代码如下
------------------------------------conn.asp-----------------------------
<%
dim db
const databasetype="access"
db="data\meiyijix ......