C# winform 如何远程调用web服务器上的access数据库? 楼主考虑过吗?即使你能下载下来并且读取的话那么你也只有只读的权限.比较实际的方法是在web服务上暴露访问这个access表里的相关访问接口. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意思是,在winform里像调用sqlserver一样,读取accesss数据库里的内容,当然也可以增删改查 在Web服务器上创建个WebService服务,服务里包含你读写accesss数据库的方法,然后在winform里添加Web引用,然后就可以增删改查了 创建WebService服务:启动VS2005,打开[File]->[New]->[Web Site],新建ASP.NET Web Service。OK后,VS2005会自动创建项目,并在IIS中自动建立虚拟目录TestWebSite。在Solution Explorer中找到Service.asmx,点击右键,选择[View Code]。在代码的开始处添加引用: using System.Data.SqlClient; using System.Data.OleDb; using System.Data;在类中添加成员函数AccessDB(string Query),用于连接Access。 [WebMethod]public DataSet AccessDB(string Query){ try { string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + this.Server.MapPath("AccessWebServices.mdb"); OleDbConnection myAccessConn = new OleDbConnection(strAccessConn); OleDbCommand myAccessCommand = new OleDbCommand(Query, myAccessConn); OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand); myAccessConn.Open(); DataSet myDataSet = new DataSet(); myDataAdapter.Fill(myDataSet, "Results"); myAccessConn.Close(); return myDataSet; } catch (Exception ex) { return DataError(ex); }} 注意ACCESS数据库需要放在TestWebSite目录下。接着,编译项目,成功后按[Ctrl+F5]查看Web Service是否正常工作。 再写下如何调用WebService:新建一个Windows Application项目,命名为TestApplication,在项目上点击右键,选择[Add Web Reference]来添加Web Service的引用。在[URL]中输入Web Service所在的路径,若地址正确将可以看到一个服务被找到。在[Web Reference Name]中将“localhost”改为“dbWebService”,点击[Add Reference]完成引用。接下来我们在Form1中添加dataGridView1及button1,双击button1,在事件中添加代码: TestApplication.dbWebService.Service Database = new TestApplication.dbWebService.Service(); DataSet ds = Database.AccessDB("select * from ftdept"); dataGridView1.DataSource = ds.Tables[0];这样就查询出web服务器上的access的数据了。 开了一个webservice 有没有安全隐患?? 学习中 ,这个可不可以用于 局域网进行操作ACCESS啊?就是说一台机子上装有服务器端 另外3台客户端 服务器上有access 数据库,那3台没数据库 可不可以用webservice 做啊??? 局域网如果做c/s就没必要使用webservice了 如果是局域网就开个共享目录直接读取\\192.168.1.1\test.mdb(目录要设置可读可写,有风险)如果不是就只能通过webservice提供接口来进行操作。至余楼上提到的安全问题可以参见下面的NET 环境下的 Web Service 由 IIS 来提供,在该环境下,可以利用 IIS 的内置安全特性。 支持 HTTP 的 SSL 能够为 HTTP 中传输的数据提供保密性和完整性。通过启用客户端 X.509 证书(在 SSL 协议中是否使用客户端证书是可选的)可以提供预防抵赖服务。一旦启用 SSL,通过这些连接发送的所有数据都将加密并使用签名。 IIS 提供多种身份验证机制:基本身份验证、摘要式身份验证、集成 Windows 身份验证 (NTLM/Kerberos) 或 X.509 证书。对于提供 Web服务的特定目录,可以启用其中任何一种身份验证机制,相应地客户也可以提交相应证书,并通过 IIS 验证。此外,需要修改 Web Service 中的 web.config 文件以指明需要使用“windows”身份验证。同时,IIS 中需禁用匿名访问。 可使用 .NET 提供的“代码访问安全”机制提供身份验证。本质上,在采用 Web Service 方式时,这种机制能够提供调用 Web Service 的用户的身份。在已经对用户身份(由客户根据 IIS 配置验证机制来提供)进行检索以后,您可以显式地检查是否已授权用户访问该 Web 方法。 局域网也只有用WebService或WCF等做中间接口一条路...共享文件方式安全性就不提了,多用户文件锁就够你受的... 5#,你好,看到你的用webservice连接服务器ACCESS数据库的解决方法了,在一台机子上调试好用,可是把程序安装到局域网其他机子上就联不上了,不到为什么,请赐教,谢谢 g a f c#求高手给小弟看看那里出错了怎么改 c# 程序传记录集问题,高手点进。 程序怎么关闭? C# 为任何系统活动窗口的客户区四边画出彩色边框 StreamWriter碰到"\n"怎么办? 三星2410开发板 WinCE5.0 C#2005 UDP包的问题 高分请教急 取出客户访问来路 小问题。 但是我却好头痛。 高手快来啊。 如何调试com+组件? 请问C#里怎么调用另外一个窗体的控件? 到底什么叫做面向对象?自认为搞清楚了,可是经理说我没搞清楚。 请问怎么用C#保存网页
启动VS2005,打开[File]->[New]->[Web Site],新建ASP.NET Web Service。OK后,VS2005会自动创建项目,并在IIS中自动建立虚拟目录TestWebSite。
在Solution Explorer中找到Service.asmx,点击右键,选择[View Code]。
在代码的开始处添加引用: using System.Data.SqlClient; using System.Data.OleDb; using System.Data;在类中添加成员函数AccessDB(string Query),用于连接Access。 [WebMethod]
public DataSet AccessDB(string Query)
{
try
{
string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ this.Server.MapPath("AccessWebServices.mdb");
OleDbConnection myAccessConn = new OleDbConnection(strAccessConn);
OleDbCommand myAccessCommand = new OleDbCommand(Query, myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet, "Results");
myAccessConn.Close();
return myDataSet;
}
catch (Exception ex)
{
return DataError(ex);
}
} 注意ACCESS数据库需要放在TestWebSite目录下。接着,编译项目,成功后按[Ctrl+F5]查看Web Service是否正常工作。
新建一个Windows Application项目,命名为TestApplication,在项目上点击右键,选择[Add Web Reference]来添加Web Service的引用。
在[URL]中输入Web Service所在的路径,若地址正确将可以看到一个服务被找到。
在[Web Reference Name]中将“localhost”改为“dbWebService”,点击[Add Reference]完成引用。接下来我们在Form1中添加dataGridView1及button1,双击button1,在事件中添加代码: TestApplication.dbWebService.Service Database = new TestApplication.dbWebService.Service(); DataSet ds = Database.AccessDB("select * from ftdept");
dataGridView1.DataSource = ds.Tables[0];这样就查询出web服务器上的access的数据了。
支持 HTTP 的 SSL 能够为 HTTP 中传输的数据提供保密性和完整性。通过启用客户端 X.509 证书(在 SSL 协议中是否使用客户端证书是可选的)可以提供预防抵赖服务。一旦启用 SSL,通过这些连接发送的所有数据都将加密并使用签名。
IIS 提供多种身份验证机制:基本身份验证、摘要式身份验证、集成 Windows 身份验证 (NTLM/Kerberos) 或 X.509 证书。对于提供 Web服务的特定目录,可以启用其中任何一种身份验证机制,相应地客户也可以提交相应证书,并通过 IIS 验证。此外,需要修改 Web Service 中的 web.config 文件以指明需要使用“windows”身份验证。同时,IIS 中需禁用匿名访问。
可使用 .NET 提供的“代码访问安全”机制提供身份验证。本质上,在采用 Web Service 方式时,这种机制能够提供调用 Web Service 的用户的身份。在已经对用户身份(由客户根据 IIS 配置验证机制来提供)进行检索以后,您可以显式地检查是否已授权用户访问该 Web 方法。
g a f