C# 在IIS服务器上托管网站时无法创建数据库。本地it';他在工作
在IIS服务器上托管网站时,我无法创建数据库。在当地,它起作用了。我只想通过URL执行这个过程C# 在IIS服务器上托管网站时无法创建数据库。本地it';他在工作,c#,sql,asp.net,iis-8,C#,Sql,Asp.net,Iis 8,在IIS服务器上托管网站时,我无法创建数据库。在当地,它起作用了。我只想通过URL执行这个过程 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE dbo.createdb ( @cmd varchar(1000), @dbname varchar(50) ) AS BEGIN SET NOCOUNT ON; IF NOT EXISTS (SELECT * FROM sys.databases WHE
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE dbo.createdb
(
@cmd varchar(1000),
@dbname varchar(50)
)
AS
BEGIN
SET NOCOUNT ON;
IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = @dbname)
BEGIN
SET @cmd=' CREATE database '+ @dbname;
EXEC (@cmd);
END
END
执行SQL的C代码在哪里?你犯了什么错误?我们只能猜测问题可能是什么(例如网络访问、权限等)。查询本身没有告诉我们问题是什么,短语“无法”也没有告诉我们任何有用的信息。这表明你可能还没有完全调查过这个问题。检查实际错误,然后将IIS环境与本地环境进行比较,以查看与特定错误相关的差异。您尝试连接到的数据库服务器(连接字符串)在答案部分查找ode答案不用于向问题添加信息。毫不奇怪,他们是为你的问题提供解决方案的。请使用问题下方的“编辑”按钮添加更多信息。另外,您还没有告诉我们您遇到了什么错误。请不要只粘贴一个代码,写一些注释,并解释代码是如何工作的,以及它是如何帮助我们的
public void createDB(string _date)
{
myConnectionString = string.Empty;
string dbName = _date;
myConnectionString = "Data Source=localhost; initial catalog=xxxxxxxx;Persist Security Info=True; user id=xxxxxx; password=xxxxxxx; Connection Timeout=7000;";
using (SqlConnection conn = new SqlConnection(myConnectionString.ToString()))
{
DataSet ds = new DataSet();
conn.Open();
string sql = string.Empty;
try
{
SqlCommand Cmd = new SqlCommand("createdb", conn);
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Parameters.AddWithValue("@dbname", dbName);
Cmd.ExecuteNonQuery();
}
catch (Exception e)
{
string data = e.Message;
RecordErrorLog("CreateMyFile¶" + data + "¶" + myConnectionString);
}
finally
{
if (conn.State != ConnectionState.Closed)
conn.Close();
}
}
}