C#怎样设置远程访问sql server数据库(非局域网)

如题,我在做一个windows软件,需要连接sql server数据库,怎样设置远程访问(非局域网)的方式让其他主机也可以访问我的数据库呢?
我按照网上有的方法尝试,基本都是局域网的方式访问数据库,或者通过部署网站的方式进行远程连接,是否有比较好的方法远程连接数据库?或者改变思路,不连接数据库,把数据库里面的表作为本地文件来读取?

4个回答

远程计算机必须拥有公网ip,打开1433端口,是可以直接连接的,方法和局域网一样。
但是强烈不建议你这么做,因为暴露在公网的sql server极不安全。
最好的办法是使用web service作为中间件。C#的话,可以用asp.net webapi去实现web service

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复想学软件的小电工: 我说的是,有数据库的一方(服务器方)需要打开端口和拥有公网ip。数据库在你这里,别人不需要安装sql server。
一年多之前 回复
weixin_43910182
想学软件的小电工 哦哦哦,也就是别人也要有sql server,打开1433端口才能连接我的数据库。没有其他办法,只能部署网站才可以让其他用户在没有sql server情况下直接使用这个软件了是吧?
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 本地不需要打开,远程才需要。1433端口是你sql server的服务器的端口,不关你本地的事情
一年多之前 回复
weixin_43910182
想学软件的小电工 C#是否可以像读取数据库一样读取一些表?这样的话是否可以写程序,直接读取那些表而不是访问数据库获取?
一年多之前 回复
weixin_43910182
想学软件的小电工 回复: 我现在还没学web,就是一步一步来,现在是C#+数据库做软件,接下来学习把它部署到网站上。现在我是想把这个做出来之后别人也可以用用
一年多之前 回复
weixin_43910182
想学软件的小电工 您的意思是不止是我需要打开1433端口,远程连接的计算机也需要打开这些端口才可以连接我的数据库吗?
一年多之前 回复

可以写一个WEB服务。让别人访问,里面开放一些增加、删除、修改的方法让其他人调用即可

weixin_43910182
想学软件的小电工 是否可以webservice只连接数据库,其他功能代码放到C#程序里?
一年多之前 回复
weixin_43910182
想学软件的小电工 是不是web服务里面写访问数据库的方法,然后C#程序里写调用webservice?您可以详细说一下怎么写吗?刚学,不太懂
一年多之前 回复

局域网和公网是一样的连接方式。当然你可以用access 数据库,放在本地即可。或者用sqlite数据库,直接本地读取。

写一个webservice服务,部署到服务器上。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问