mORMot 让Access的数据库可以远程访问的
来源:互联网 发布:安徽渠道网络怎么样 编辑:程序博客网 时间:2024/05/16 19:50
mORMot中提供了TOleDBJetConnectionProperties类来处理Access的mdb数据库的访问,自带线程池。
通过TSQLDBServerHttpApi类,我们可以把这个TOleDBJetConnectionProperties
发布给远程的外网来访问使用。服务器端要引用SynDB,SynDBRemote,SynOleDB,SynDBMidasVCL 这几个单元。
TSQLDBServerHttpApi 使用了微软IIS的http.sys通信库,稳定高效。
代码如下:
unit FrmServerForm;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,SynDB,SynDBRemote,SynOleDB,SynDBMidasVCL;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public DataBase:TSQLDBConnectionProperties; DBServer: TSQLDBServerAbstract; { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin DataBase := TOleDBJetConnectionProperties.Create('house.mdb;Jet OLEDB:Database Password=8888;','','',''); DBServer := TSQLDBServerHttpApi.Create(DataBase,'syndbremote','8092','admin','admin888',False);//将database连接到数据库house.mdb发布给远程客户端//访问,远程客户端访问时的库名syndbremote,端口 8092,用户名 amin,密码 admin888end;procedure TForm1.FormDestroy(Sender: TObject);begin FreeAndNil(DataBase); FreeAndNil(DBServer);end;end.
如上,简单的几句代码编译运行后,远程客户端就可以通过TSQLDBWinHTTPConnectionProperties
类来远程访问处理服务器上的数据。TSQLDBWinHTTPConnectionProperties创建类实例时,需要指定服务器ip,访问的数据库名,端口,用户名,密码
constructor TSQLDBWinHTTPConnectionProperties.Create(const aServerName, aDatabaseName, aUserID, aPassWord: RawUTF8);
通过引用 SynDBMidasVCL单元的TSynDBDataSet类,可以实现类似于TAdoquery类的调用方式,客户端代码如下:
unit FrmClientUnt;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids, Data.DB, Vcl.ExtCtrls,SynDB,SynDBRemote,SynDBDataset,SynDBMidasVCL;type TForm2 = class(TForm) Panel1: TPanel; DataSource1: TDataSource; DBGrid1: TDBGrid; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);var Props:TSQLDBWinHTTPConnectionProperties; cds:TSynDBDataSet;begin Props := TSQLDBWinHTTPConnectionProperties.Create('127.0.0.1:8092','syndbremote','admin','admin888'); cds := TSynDBDataSet.Create(Self); cds.Connection := Props;//设置TSynDBDataSet的Connection cds.CommandText :='select * from HouseInfo '; //定义一个查询串 cds.Open; DataSource1.DataSet := cds; //给DbGrid的DataSoured数据库的Dataset设置为TSynDBDataSet,将查询结果显示在DBGrid中end;end.
0 0
- mORMot 让Access的数据库可以远程访问的
- 远程访问Access数据库
- 访问远程access数据库总弹出的对话框
- 求助关于远程访问ACCESS数据库的问题
- ASP访问远程的ACCESS数据库所遇奇怪问题
- 在java中实现access数据库的远程访问
- 在java中实现access数据库的远程访问
- 在java中实现access数据库的远程访问
- MYSQL让别人远程访问自己的数据库
- 远程数据库的访问
- C#远程访问Access数据库
- 访问Access数据库的wxDAO
- rmijdbc+access实现远程访问access数据库
- sql访问远程的数据库
- 解决mysql的1045错误,让别人可以远程自己的数据库
- 远程连接access数据库的方法
- 远程连接access数据库的几个方法
- 远程连接access数据库的几个方法:
- execution切入点表达式
- 《JS高程(3)》BOM-01(window&窗口)-第8章笔记(06)
- Daemon线程
- Java面试容易问的
- 从 NSURLConnection 到 NSURLSession
- mORMot 让Access的数据库可以远程访问的
- [NLP]1.StanfordNLP的安装和初探
- Hadoop学习笔记:MapReduce原理简单学习
- 智能传感器的含义、功能、集成化、应用与发展
- Struts 数据处理
- SSH学习(五)Struts2文件上传
- 如何使用LeakDiag
- nginx
- thinkphp5查询某一行多个字段的值