c#程序里如何判断一个SQL服务器是本地还是远程的? 100

我的现在的服务器是这样设置的,IBM-FCC9FCEA3BD\XUNKAISQLSERVER这就是服务器名称,是本地的哟,axoxoao哥们,不能正确实现哟,我是不是要取... 我的现在的服务器是这样设置的,IBM-FCC9FCEA3BD\XUNKAISQLSERVER
这就是服务器名称,是本地的哟,

axoxoao 哥们,不能正确实现哟,我是不是要取得连接字串中的服务名称作为
ServerName 的值,再进行判断?我是这样做的,可是不成功。怎么判断都是远程的,

我测试了一下,服务器IP集中不包括127.0.0.1,而本地ip集中只有这一个,所以都是远程了。
rabsipm 你的这段话从哪里抄来的?莫名其妙,我说了防止数据注入了吗?
展开
 我来答
百度网友83200e1
2010-12-04 · TA获得超过101个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:125万
展开全部
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;

namespace BaiduExample
{
class Program
{
static void Main(string[] args)
{
string ServerName = "IBM-FCC9FCEA3BD";//要判断的服务器名称
List<IPAddress> hostList = Dns.GetHostByName(ServerName).AddressList.ToList<IPAddress>();//获取服务器IP集合
List<IPAddress> locallist = Dns.GetHostByName("localhost").AddressList.ToList<IPAddress>();//获取本地IP集合
bool IsLoalIP = false;//初始化是否本地实例,默认为远程实例
foreach (IPAddress localip in locallist)
{
//循环判断服务器IP是否和本地IP有交集,如果有,则为本地实例
if (hostList.Find(delegate(IPAddress hostip) { return localip.ToString().Equals(hostip); }) != null)
{
IsLoalIP = true;//如果有交集,则为本地实例
}
}
Console.WriteLine(string.Format("{0}是{1}数据库实例", ServerName, IsLoalIP ? "本地" : "远程"));//输出结果
Console.Read();
}
}
}
jinwb
2010-12-04 · TA获得超过148个赞
知道小有建树答主
回答量:462
采纳率:0%
帮助的人:252万
展开全部
这个问题可以这样考虑。因为C#本身是运行在服务器端的,也就是说程序怎么判断都是在服务器上。相对于它就是本地。从服务器角度来说,SQL是本地的。从客户端角度考虑就是远程的。你说怎么判断?呵呵

以上是我的理解。错误指出还谅解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_问道_
2010-12-04 · TA获得超过170个赞
知道小有建树答主
回答量:247
采纳率:0%
帮助的人:177万
展开全部
看ip地址
如果是local或127.0.0.1就是本地
如果不是这两种就远程的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rabsipm
2010-12-10
知道答主
回答量:59
采纳率:0%
帮助的人:45.6万
展开全部
百度知道就是被楼上的这种垃圾给搞坏的。。。找点书COPY过来有什么意思。。。。。。。
-----------------------------
要防止SQL注入其实不难,你知道原理就可以了。
所有的SQL注入都是从用户的输入开始的。如果你对所有用户输入进行了判定和过滤,就可以防止SQL注入了。用户输入有好几种,我就说说常见的吧。
文本框、地址栏里***.asp?中?号后面的id=1之类的、单选框等等。一般SQL注入都用地址栏里的。。。。如果要说怎么注入我想我就和上面的这位“仁兄”一样的了。
你只要知道解决对吗?
对于所有从上一页传递过来的参数,包括request.form 、request.qurrystring等等进行过滤和修改。如最常的***.asp?id=123 ,我们的ID只是用来对应从select 里的ID,而这ID一般对应的是一个数据项的唯一值,而且是数字型的。这样,我们只需把ID的值进行判定,就可以了。vbs默认的isnumeric是不行的,自己写一个is_numeric更好,对传过来的参数进行判定,OK,搞定。算法上的话,自己想想,很容易了。但是真正要做到完美的话,还有很多要计算的。比如传递过来的参数的长度,类型等等,都要进行判定。还有一种网上常见的判定,就是判定传递参数的那一页(即上一页),如果是正常页面传弟过来就通过,否则反之。也有对' or 等等进行过滤的,自己衡量就可以了。注意一点就是了,不能用上一页的某一个不可见request.form("*")进行判定,因为用户完全可以用模拟的形式“复制”一个和上一页完全一样的页面来递交参数。这样,这招就没用了。。。。

OK就说这么多,还不明白的话,找我。Loadinger@hotmail.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d242235
2010-12-04 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:823万
展开全部
1l别误导人。127.0.0.1只是环回地址。如果填的是本机的实际ip,或者是机器名你还这么判断?
不过不知道你为什么要有这种需求。如果要实现什么目标,最好换个思路。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式