【发布时间】:2017-01-27 10:25:01
【问题描述】:
我有一个在运行服务器的计算机上正常运行的 Web 应用程序,但是当我尝试通过本地网络在另一台设备上运行该 Web 应用程序时出现以下错误:
指定的架构名称“WORKGROUP\LAPTOP-1”要么不存在,要么您没有使用它的权限。
我要执行的命令如下:
protected void Home_pt()
{
string nametime;
string name;
string time;
string tname = null;
SqlConnection conn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;AttachDbFilename=C:\\Users\\Public\\public website\\slDataBase.mdf;Integrated Security=True;Trusted_Connection=True;");
if (thiddenfield.Value == String.Empty)
{
Show("error: empty tname");
}
else
{
tname = thiddenfield.Value;
}
using (var cmd = new SqlCommand("SELECT name FROM trecordTable WHERE name='" + tname + "'", conn))
{
conn.Open();
using (var reader = cmd.ExecuteReader())
{
List<string> namedatelist = new List<string>();
while (reader.Read())
{
name = reader["name"].ToString();
time = DateTime.Now.ToString("MM-dd-yyyy");
namedatelist.Add(name + time);
}
nametime = Regex.Replace(namedatelist[0].ToString(), "[^0-9a-zA-Z]+", "");
Session["nametime"] = nametime;
hftstate.Value = nametime;
}
}
}
protected void Fill_t(object sender, EventArgs e)
{
var nametime = Session["nametime"].ToString();
SqlConnection conn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;AttachDbFilename=C:\\Users\\Public\\public website\\slDataBase.mdf;Integrated Security=True;Trusted_Connection=True;");
conn.Open();
using (var cmdtx1 = new SqlCommand("IF OBJECT_ID('" + nametime + "') IS NULL CREATE TABLE " + nametime + "([Id] INT IDENTITY NOT NULL, [item] NVARCHAR(50) NULL, [CtrlType] NVARCHAR(50) NULL, [six] NVARCHAR(50) NULL, [seven] NVARCHAR(50) NULL, [eight] NVARCHAR(50) NULL); IF NOT EXISTS(SELECT item FROM " + nametime + ") INSERT INTO " + nametime + " (item,CtrlType,hflabel) VALUES ('At','atscroll','cstat')", conn))
{
cmdtx1.ExecuteNonQuery();
}
}
我应该在 SSMS 中编辑权限吗?
另外,我知道它很容易被注入,但我想先解决这个问题。
【问题讨论】:
-
nametime的值是多少? -
它是根据用户输入程序生成的。基本上是输入的名称,然后是当前时间。
-
我没有问它是如何创建的。我问它的价值是什么。你的问题就在那里。
-
添加了额外的代码来显示它的来源。一个示例值为:“Pete01272017”
-
所以你认为是 nametime 变量导致了问题,即使该命令在与服务器相同的机器上运行时也能正常工作?
标签: c# asp.net sql-server windows-authentication