C#的WebService连接阿里云网站主机空间里的ACCESS数据库不成功!怎么回事

yuexiashi 2016-05-03 10:07:30
C#的WebService连接阿里云网站主机空间里的ACCESS数据库不成功!怎么回事?
1、客户端:C#
2、数据库:ACCESS,放在阿里云的网站根目录下的一个文件夹里:BD/****.db,带密码,请问连接字符串怎么写?
获取虚拟路径的对应物理路径用的MapPath。是不是阿里云不支持这种连接方式?
3、在用WebService本地测试窗口调用时查询不到数据,也插入不了数据。感觉是连接字符串的问题,因为连接本地的ACCESS数据库是可以连接上的。
晚上回去截点图给你们看看。
...全文
332 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxcuse 2017-08-27
  • 打赏
  • 举报
回复
楼主的构架同样我需要,我是一个监测点对应一个定制的ACCESS数据库,在ECS中ACCESS数据库与SQL实例对应,现在没有解决。ACCESS数据库中并不存数,只是一个壳程序(编程简单),做些数据计算。
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
所有的云空间都不支持文件的直接读写(需通过他们提供的虚拟文件系统工具进行) ACCESS 不仅需要文件的读写权限,而且还要执行权。这是在云空间办不到的
使用webservice接口服务也不行吗?看阿里云介绍好像是可以的啊?
xuzuning 2016-05-03
  • 打赏
  • 举报
回复
所有的云空间都不支持文件的直接读写(需通过他们提供的虚拟文件系统工具进行) ACCESS 不仅需要文件的读写权限,而且还要执行权。这是在云空间办不到的
我是飞云 2016-05-03
  • 打赏
  • 举报
回复
引用 2 楼 yuexiashi 的回复:
[quote=引用 1 楼 oysy的回复:]Access不是网络数据库, 你为何不用sqlserver?
因为阿里云不提供新增数据库,我需要做成一个用户一个单独数据库。[/quote] 如果是VPS的话,完全可以装一个SQL。 如果一个用户一个库,不需要这样,你完全可以做一个表。表满足不了,可以考虑XML还有JSON这些,总比你的Access来得实在
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
引用 1 楼 oysy的回复:
Access不是网络数据库, 你为何不用sqlserver?
因为阿里云不提供新增数据库,我需要做成一个用户一个单独数据库。
飞天凤凰601 2016-05-03
  • 打赏
  • 举报
回复
Access不是网络数据库, 你为何不用sqlserver?
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
引用 26 楼 xuzuning 的回复:
一定要在标识归属用户的字段上加索引,查询只是瞬间的事情,不必过虑 不过你说 提供了个50M的MSSQL2008数据库 那可放不了那么多数据的,先用着再说吧
恩恩,好的,谢谢。
xuzuning 2016-05-03
  • 打赏
  • 举报
回复
一定要在标识归属用户的字段上加索引,查询只是瞬间的事情,不必过虑 不过你说 提供了个50M的MSSQL2008数据库 那可放不了那么多数据的,先用着再说吧
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
引用 25 楼 cancerser 的回复:
[quote=引用 22 楼 yuexiashi 的回复:] [quote=引用 19 楼 cancerser 的回复:] [quote=引用 17 楼 yuexiashi 的回复:] [quote=引用 15 楼 cancerser 的回复:] 亲 我给你的建议是把数据库放在webservice服务器上哦,这样就不会出现数据问题的 既然都有webservice了?数据库为啥不和它放一起?!...
我就是说要把ACCESS数据库放在服务器上啊,但是大神说将ACCESS数据库放在服务器上,操作的时候需要权限。连接不上服务器上的数据库。放在本地是可以连接的[/quote] 如果这样的话,你只需要根据猪场来决定是每个猪场做一个webservice,还是所有共用一个就可以了,那你还纠结个啥 至于操作冲突问题,数据方面的正常的数据库都可以避免,这个我没法详细说,只能看经验。操作方面的一个webservice操作,随便写个变量就可以排队了。上面这几句可能误导你,如果想不明白无视就可以了。你现在能实现,一个猪场处理,其他的再你写完后应该就能想通了....[/quote] 恩,谢谢解答,肯定是共用一个webservice,增加一个归属字段吧,数据量大一点就大一点吧,几十万条的记录,查询起来速度怎么样啊?[/quote] 那点数据就别上心了,服务器负担不是很重的情况下,一眨眼就能遍历几十万了(看你用的啥数据库access不行,SqlServer 啥的没问题),只要设置好主键,索引,服务器不是单核的破烂机器就不用考虑了[/quote] 恩恩,用SqlServer,阿里云有提供一个50M的,还过得去。
cancerser 2016-05-03
  • 打赏
  • 举报
回复
引用 22 楼 yuexiashi 的回复:
[quote=引用 19 楼 cancerser 的回复:]
[quote=引用 17 楼 yuexiashi 的回复:]
[quote=引用 15 楼 cancerser 的回复:]
亲 我给你的建议是把数据库放在webservice服务器上哦,这样就不会出现数据问题的
既然都有webservice了?数据库为啥不和它放一起?!...

我就是说要把ACCESS数据库放在服务器上啊,但是大神说将ACCESS数据库放在服务器上,操作的时候需要权限。连接不上服务器上的数据库。放在本地是可以连接的[/quote]
如果这样的话,你只需要根据猪场来决定是每个猪场做一个webservice,还是所有共用一个就可以了,那你还纠结个啥
至于操作冲突问题,数据方面的正常的数据库都可以避免,这个我没法详细说,只能看经验。操作方面的一个webservice操作,随便写个变量就可以排队了。上面这几句可能误导你,如果想不明白无视就可以了。你现在能实现,一个猪场处理,其他的再你写完后应该就能想通了....[/quote]
恩,谢谢解答,肯定是共用一个webservice,增加一个归属字段吧,数据量大一点就大一点吧,几十万条的记录,查询起来速度怎么样啊?[/quote]
那点数据就别上心了,服务器负担不是很重的情况下,一眨眼就能遍历几十万了(看你用的啥数据库access不行,SqlServer 啥的没问题),只要设置好主键,索引,服务器不是单核的破烂机器就不用考虑了
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
感谢大家的回复,准备结贴,帮助最多的多得点,反正见者有份吧。
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
引用 19 楼 cancerser 的回复:
[quote=引用 17 楼 yuexiashi 的回复:] [quote=引用 15 楼 cancerser 的回复:] 亲 我给你的建议是把数据库放在webservice服务器上哦,这样就不会出现数据问题的 既然都有webservice了?数据库为啥不和它放一起?!...
我就是说要把ACCESS数据库放在服务器上啊,但是大神说将ACCESS数据库放在服务器上,操作的时候需要权限。连接不上服务器上的数据库。放在本地是可以连接的[/quote] 如果这样的话,你只需要根据猪场来决定是每个猪场做一个webservice,还是所有共用一个就可以了,那你还纠结个啥 至于操作冲突问题,数据方面的正常的数据库都可以避免,这个我没法详细说,只能看经验。操作方面的一个webservice操作,随便写个变量就可以排队了。上面这几句可能误导你,如果想不明白无视就可以了。你现在能实现,一个猪场处理,其他的再你写完后应该就能想通了....[/quote] 恩,谢谢解答,肯定是共用一个webservice,增加一个归属字段吧,数据量大一点就大一点吧,几十万条的记录,查询起来速度怎么样啊?
xuzuning 2016-05-03
  • 打赏
  • 举报
回复
加个用户条件,不会增加负担 按你原来的计划,不也要根据用户来选择数据库吗?
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
引用 21 楼 xuzuning 的回复:
加个用户条件,不会增加负担 按你原来的计划,不也要根据用户来选择数据库吗?
也是,原来的计划,那么多用户要连接不同的数据库,可能问题会更严重。 谢谢解答,如果有几十万条的记录,查询操作起来速度怎么样啊?一个表里多少条数据比较合理?有个底,好定时清理一下
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
引用 18 楼 xuzuning 的回复:
C# 操作 Access 和操作 SQL Server 是一样的,除了连接串,基本没有变化 你先在本地用多用户方式写好程序(你现在想着一个用户一个库,显然是按单用户方式设计的) 然后把你的 Access 库升迁到 SQL Server 就可以了
恩,操作SQL Server肯定是没问题的,之前的一个android也是通过webservice操作MS sql的。 我是想access数据库直接放在主机网站根目录下的文件夹,这样就更直观了,既然不能操作,那就还是改成MS SQL吧,加个归属字段好了,这样的问题就是一个表里数据量大了,操作数据库时还要区分不同用户。
cancerser 2016-05-03
  • 打赏
  • 举报
回复
引用 17 楼 yuexiashi 的回复:
[quote=引用 15 楼 cancerser 的回复:]
亲 我给你的建议是把数据库放在webservice服务器上哦,这样就不会出现数据问题的
既然都有webservice了?数据库为啥不和它放一起?!...

我就是说要把ACCESS数据库放在服务器上啊,但是大神说将ACCESS数据库放在服务器上,操作的时候需要权限。连接不上服务器上的数据库。放在本地是可以连接的[/quote]
如果这样的话,你只需要根据猪场来决定是每个猪场做一个webservice,还是所有共用一个就可以了,那你还纠结个啥
至于操作冲突问题,数据方面的正常的数据库都可以避免,这个我没法详细说,只能看经验。操作方面的一个webservice操作,随便写个变量就可以排队了。上面这几句可能误导你,如果想不明白无视就可以了。你现在能实现,一个猪场处理,其他的再你写完后应该就能想通了....
xuzuning 2016-05-03
  • 打赏
  • 举报
回复
C# 操作 Access 和操作 SQL Server 是一样的,除了连接串,基本没有变化 你先在本地用多用户方式写好程序(你现在想着一个用户一个库,显然是按单用户方式设计的) 然后把你的 Access 库升迁到 SQL Server 就可以了
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
引用 12 楼 yuexiashi 的回复:
[quote=引用 11 楼 xuzuning 的回复:] 表中加一个表示数据归属的字段,比如 uid(用户ID)这样就可以多个用户共用一个库了 也可以给表加一个用户名的前缀(用户名_原表名)
我的想法就是 tb_用户1_表1 tb_用户1_表2 tb_用户1_表3 tb_用户2_表1 tb_用户2_表2 tb_用户2_表3 ........ 唉,只能这样吗?[/quote] 10个用户就是150张表,100个用户就是1500张表,1000个用户就是15000张表,10000个用户就是150000张表。好心塞!! 好像定义个归属字段更好一点。
yuexiashi 2016-05-03
  • 打赏
  • 举报
回复
引用 15 楼 cancerser 的回复:
亲 我给你的建议是把数据库放在webservice服务器上哦,这样就不会出现数据问题的 既然都有webservice了?数据库为啥不和它放一起?!...
我就是说要把ACCESS数据库放在服务器上啊,但是大神说将ACCESS数据库放在服务器上,操作的时候需要权限。连接不上服务器上的数据库。放在本地是可以连接的
cancerser 2016-05-03
  • 打赏
  • 举报
回复
亲 我给你的建议是把数据库放在webservice服务器上哦,这样就不会出现数据问题的
既然都有webservice了?数据库为啥不和它放一起?!...
加载更多回复(9)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧