vb和asp如何用remote访问远程数据库

2023-11-18

访问远程数据库的情况有以下几种:
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;" & _
      "Data Source=MyAdvworksOLEDBConnectTag;"

下面是vb代码范例,在vb6下运行通过.
新建一个exe工程,在引用里添加microsoft activex data objects 2.8 library ,如果没有安装2.8,可用2.7等其他版本
添加两个command
在Private Sub Command1_Click()中添加以下代码:

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=MS Remote;" & _
           "Remote Server=http://192.168.0.160;" & _
           "Remote Provider=MSDASQL;" & _
           "DSN=pubs;" & _
           "Uid=sa;" & _
           "Pwd=aaa"
rs.Open "select * FROM Authors", cn
MsgBox rs.EOF


在Private Sub Command2_Click()中添加以下代码:

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=MS Remote;" & _
           "Remote Server=http://192.168.0.160;" & _
      "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=c:/aaa/pubs.mdb;"
rs.Open "select * FROM Authors", cn
MsgBox rs.EOF


现在我们再来服务器上设置。

首先,要配置一个odbc,名为pubs,数据库服务器可为任意能访问的。
其次,到iis管理器中,默认站点中,找到msadc这个虚拟目录,默认安装下,该目录禁止任何ip访问。选择该目录的属性,选择目录安全性,ip

地址及域名限制,选择授权访问,点击确定即可,或者选择拒绝访问,在例外中加入你客户端计算机的ip。
第三,打开msadc虚拟目录所在的文件夹,会发现有3个reg文件,把他们都添加到注册表中吧。
第四,开始,运行,敲入iisreset,或者直接重启计算机。

再返回客户端,运行刚才的vb程序,点击command1是通过odbc连接mssql,点击command2是连接服务端的access

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vb和asp如何用remote访问远程数据库 的相关文章

  • popen 中整个字符串命令和字符串列表之间的区别

    我发现大多数程序员建议使用字符串列表来表示 popen 中的命令 然而 在我自己的项目中 我发现整个字符串在更多情况下都有效 例如下面的作品 subprocess Popen pgrep f run stdout subprocess PI
  • 如何在 stdout 上显示 Linux 命令的输出并将其通过管道传递给另一个命令? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在将标准输出保持在屏幕上的同时通过管道传输 而不是输出文件 https stackoverflow com questions 5677201 how to pipe stdout while k
  • 如何在 VBA 中将字符串作为命令运行

    我下面有这个简单的 VBA 代码 但我不知道为什么不起作用 Sub Run test MsgBox Job Done Application Run test End Sub 我想要做的是将 VBA 命令作为文本放入变量中并将其作为命令运行
  • 使用 apache 命令行运行带有空格参数值的命令

    我正在使用 apache 命令行库 我想从 java 程序执行 git stash list format gd at B grep some text with space 这是代码 commandLine addArgument gre
  • 如何在Linux中限制用户命令[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在一个组中有一个用户 demo 我想设置该用户只能运行 10 个命令的策略 例如vim nano cd etc 或者 将策略设置为有权访
  • Java jar-Archive 工具 - 设置包含内容的文件夹的路径

    当我使用这个命令时 echo C Program Files Java jdk1 7 0 07 bin jar cf C file file jar C data 在 jar Archive 工具的 CMD 中 它会创建名为 file ja
  • MVVM 中 WPF 命令的可接受模式是什么?

    我正在开发 WPF 应用程序 并且非常了解命令模式 但我发现 MVVM 命令模式有几种不同的实现 Josh Smith 在他的 WPF 示例应用程序中实现了DelegateCommand来自棱镜 以及CommandBindings执行 我的
  • 命令行命令中的“$”是什么意思?

    我经常发现命令行命令以美元符号在安装许多东西的说明中 例如安装Ruby in Ubuntu 该网站说使用以下命令 sudo apt get install ruby full 什么是 代表 The 不是命令的一部分 它告诉您该命令需要以普通
  • 如何检查 Django 版本

    我必须使用Python http en wikipedia org wiki Python 28programming language 29 and Django http en wikipedia org wiki Django 28w
  • Window 中的 CommandBinding 无法捕获 ContextMenu 中命令的执行

    一个非常简单明了的例子 我有一扇窗户 它设置了 CommandBindings 以捕获 RoutedUICommand 执行
  • 跳转后 vim 中自动 'zz'

    当我跳转到世界上的任何地方后 无论是在当前文件还是在不同的文件中 是否可以让vim自动运行zz 重新以当前行为中心 在搜索之类的事情之后我想要这个 ctrl o and ctrl i 以及几乎任何运动 除了hjkl Thanks Voila
  • 命令绑定在动态 MVVM 上下文菜单中不起作用

    我是 WPF 新手 像许多其他人一样 我正在尝试绑定一个ContextMenu to an ObservableCollection创建动态上下文菜单 除了绑定之外一切正常Command财产给TheCommand的财产MenuItemVie
  • RStudio Run命令运行两次问题[重复]

    这个问题在这里已经有答案了 我在使用 RStudio 时遇到了一个奇怪的问题 当我使用任何命令运行脚本时 例如 Ctrl R Ctrl Enter 或 RStudio 上的实际运行命令 该命令会运行两次 我在互联网上找不到任何与此相关的信息
  • Matlab:从命令窗口重命名工作区元素?

    Matlab 的 GUI 允许我通过右键单击元素并选择 重命名 选项来重命名工作区中的任何元素 是否也可以从命令窗口执行此操作 这些是您可以轻松亲自测试的事情 并且您应该这样做 这是学习 发现的最佳方式 无论如何 答案是否定的 您不能从命令
  • 如何在网页中动态显示 ping 输出?

    作为诊断页面的一部分 我希望用户能够运行 ping 即一个普通的 shell 命令 将 ICMP ECHO REQUST 发送到某个 IP 并在浏览器的 div 中动态显示结果 后端是 Ruby Rails 我已经在服务器端运行该命令并读取
  • Sublime Text 2 中的“关闭其他”命令快捷方式

    我正在尝试添加 关闭其他 选项卡的快捷方式 但似乎找不到该命令 这就是我正在尝试的 keys super alt w command close others Cmd Option W sort of like Cmd Option H i
  • 在远程机器上执行多个命令

    在下面的命令中 我尝试 ssh 命令并执行多个命令 如果任何命令失败 即如果 command1 退出 那么如果 command1 和 commnd 2 退出 否则在远程计算机上执行命令 3 我如何退出 我怎样才能做到这一点 ssh logi
  • MySQL 错误:#1142 - SELECT 命令被拒绝给用户

    我在一台服务器上的某个查询时遇到问题 在我测试过的所有其他地方 它工作得很好 但在我想使用它的服务器上 它不起作用 这是关于以下 SQL SELECT facturen id AS fid projecten id AS pid titel
  • Bash:在新终端中执行带有参数的命令[重复]

    这个问题在这里已经有答案了 所以我想在 bash 中打开一个新终端并执行带参数的命令 只要我只采取类似的东西ls作为命令它工作正常 但是当我采取类似的东西时route n 所以带参数的命令不起作用 代码 gnome terminal win
  • 增加 .fig 文件中的散点标记大小

    我有一个图形文件 scatter fig 该图有许多使用 scatter 的散点绘图仪 现在我只有这个无花果文件 我需要增加所有散点的标记大小 手动尝试过 但非常困难 有没有办法我可以做类似的事情 H 图形句柄 s 点 h 设置 s 标记大

随机推荐

  • servlet编程会话管理技术

    1 会话管理 浏览器与服务器之间会话过程中产生的会话数据 Cookie特点 1 会话数据放在浏览器端 2 数据类型只能string 而且有大小限制的 3 相对数据存放不安全 Session特点 1 会话数据放在服务器端 服务
  • MES的数据采集方式

    为实现生产车间现场数据的采集 制造业MES系统数据采集方法有手工录入方式和自动化提取采集两大类 主要有以下几类 一 手动方式 1 手工方式 操作员或编程员在MES系统控制面板上 输入特定的触发程序 经DNC服务器的自动翻译 就可得到机床端的
  • Jenkins集成Sonar与Gitlab代码质量检测

    前提默认 安装docker19 与docker compose 安装Jenkins 1 docker compose yaml配置 version 3 services jenkins network mode host 镜像 image
  • 3、Java的If语句与For循环

    一 语句 条件语句 根据不同的条件 执行不同的语句 if if else if else if if else if else if else switch 循环语句 重复执行某些动作 for while do while 1 1 if语句
  • 深度学习算法面试常问问题(三)

    pooling层是如何进行反向传播的 average pooling 在前向传播中 就是把一个patch的值取平均传递给下一层的一个像素 因此 在反向传播中 就是把某个像素的值平均分成n份 分配给上一层 max pooling 在前向传播中
  • 用Odoo创建一个网站

    原贴地址 https www odoo com documentation 10 0 howtos website html 声明 这篇指导假设你有python的知识并安装了Odoo 请注意文件的目录结构 本文的目录结构与原文不同 创建一个
  • 快速打开CMD的几个方法

    1 在开始菜单里面找CMD EXE 很快的哟 2 在资源管理器的地址栏直接键入CMD按回车也能启动CMD 3 资源管理器 按住Shift点右键也能召唤CMD哦 选 在此处打开命令窗口 就行了
  • squirrel-foundation状态机的使用细节

    上一篇文章介绍了stateless4j spring statemachine以及squirrel foundation三款状态机引擎的实现原理 以及我为何选择squirrel foundation作为解决方案 本文主要介绍一下项目中如何使
  • sqlloader出现SQL*Loader-704和ORA-12154的错误

    1 错误描述 生成的sqlloder各个文件完好 权限也具备 但是就是导入oracle数据库的时候报错 错误为 SQL Loader 704 Internal error ulconnect OCIServerAttach 0 ORA 12
  • vue3+ts实现todolist功能

    先看一下实现效果 可以看到内部实现的内容有enter输入 单项删除 全选 以及删除选中项等功能 具体在实现前需要常见有ts的vue3项目 项目创建 具体项目创建 就是 vue create 项目名称 在创建后 选择的时候有vue2和vue3
  • CUDA10.0官方文档的翻译与学习之介绍

    背景 从这次开始 我将用数篇博客来分享前一阵我对CUDA10 0官方文档之编程指南的翻译与学习的笔记 由于内容非常多 我将每一章单独分享出来 可能有地方翻译得词不达意 所以建议大家参考原文 https docs nvidia com cud
  • 多线程实现事务回滚

    多线程实现事务回滚 特别说明CountDownLatch CountDownLatch的用法 CountDownLatch num 简单说明 主线程 mainThreadLatch await 和mainThreadLatch countD
  • 剑指 offer第62题-圆圈中最后剩下的数

    让小朋友们围成一个大圈 然后 随机指定一个数 m 让编号为 0 的小朋友开始报数 每次喊到 m 1 的那个小朋友要出列唱首歌 然后可以在礼品箱中任意的挑选礼物 并且不再回到圈中 从他的下一个小朋友开始 继续 0 m 1 报数 这样下去 直到
  • Proc批量处理需要注意的问题

    ProC中批量读取游标中的数据的时候 需要注意 最后一次批量读取游标中的数据的时候 数据被取到HostArray中 同时sqlca sqlcode被置为1403 NO DATA FOUND 如果在fetch后立即判断sqlca sqlcod
  • 隐藏selenium的特征

    1 chromedriver exe中的 cdc asdjflasutopfhvcZLmcfl 特征 cdc 是chromedriver exe的一个特征之一 很多网站会通过检测是否有这个特征来判断是否是selenium 解决方案 wind
  • centos7安装mate

    http www 45drives com wiki index php Installing MATE on CentOS 7 Note This guide assumes you have a CentOS 7 minimal ins
  • Python基础知识之5

    Python基础知识之5 文件操作 1 文件的打开与关闭 文件打开 在python 使用open函数 可以打开一个已经存在的文件 或者创建一个新文件 基本格式 open 文件名 访问模式 实例如下 f open test txt w 文件关
  • 关于soot静态分析的学习(一)

    本文中关于soot的研究使用 仅代表本人理解程度 因本人为0基础 所以如有出错 欢迎指出 一 soot是什么 Soot Java静态分析框架 其实Soot最开始设计的时候 主要目的就是为了对Java字节码程序进行优化 这里的优化就是指执行效
  • 【Qt】Qt事件系统

    00 目录 文章目录 00 目录 01 Qt事件系统概述 02 事件如何传递 03 事件类型 04 事件处理 05 事件过滤器 06 事件发送 附录 01 Qt事件系统概述 Qt 5 12 Qt Core The Event System
  • vb和asp如何用remote访问远程数据库

    访问远程数据库的情况有以下几种 1 访问远程数据库的access数据库2 访问远程mssql数据库或oracle等其他关系数据库 但是数据库通信端口被防火墙阻挡或其他网络原因造成无法使用该端口 本文仅在windows2000 advance