首页 新闻 会员 周边

web页面上创建数据库

0
悬赏园豆:40 [已解决问题] 解决于 2010-06-01 08:32

web页面上创建数据库?应该如何做?包括路径和数据库的期限!!

liuchangfei的主页 liuchangfei | 初学一级 | 园豆:45
提问于:2010-05-24 10:07
< >
分享
最佳答案
0

如果是SQLSERVER,在WEB程序中可以连接数据源,直接用CREATE DATABASE创建。而Access可以用ADOX创建。

自己有个创建数据库的Helper.cs(部分代码):

/// <summary>
/// 创建SqlServer数据库
/// </summary>
/// <param name="dbName">数据库名</param>
/// <param name="dbPath">数据库存放路径:"d:\\cs\\"</param>
/// <returns></returns>
public static bool CreateSqlServerDb(string dbName, string dbPath)
{
    string dbDir = dbPath;
    string createStr = "Data Source=" + StrHelper.GetItemValueFromConnStr(connStr, "Source") + ";Initial Catalog='master';Persist Security Info=True;User ID=" + StrHelper.GetItemValueFromConnStr(connStr, "ID") + ";Password=" + StrHelper.GetItemValueFromConnStr(connStr, "Password");
    String createDb;
    SqlConnection createConn = new SqlConnection(createStr);

    createDb = "CREATE DATABASE " + dbName + " ON PRIMARY " +
        "(NAME = " + dbName + ", " +
        "FILENAME = '" + dbDir + dbName + ".mdf', " +
        "SIZE = 3MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
        "LOG ON (NAME = " + dbName + "_Log, " +
        "FILENAME = '" + dbDir + dbName + "_Log.ldf', " +
        "SIZE = 1MB, " +
        "MAXSIZE = 5MB, " +
        "FILEGROWTH = 10%)";
    SqlCommand createCmd = new SqlCommand(createDb, createConn);
    try
    {
        createConn.Open();
        createCmd.ExecuteNonQuery();
    }
    catch (System.Exception)
    {
        return false;
    }
    finally
    {
        if (createConn.State == ConnectionState.Open)
        {
            createConn.Close();
        }
    }
    return true;
}
#endregion

Access:

。。。

ADOX.CatalogClass buildDb = new ADOX.CatalogClass();
                buildDb.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath + dbName + ";" + "Jet OLEDB:Engine Type=5");

                ADODB.Connection cn = new ADODB.Connection();//建立链接
                cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath + dbName, null, null, -1);
                buildDb.ActiveConnection = cn;

                ADOX.Table tableTemp = null;//创建临时表

。。。

收获园豆:40
Astar | 高人七级 |园豆:40805 | 2010-05-24 10:38
StrHelper.GetItemValueFromConnStr(connStr, "Source") + ";Initial Catalog='master';Persist Security Info=True;User ID=" + StrHelper.GetItemValueFromConnStr(connStr, "ID") + ";Password=" + StrHelper.GetItemValueFromConnStr(connStr, "Password"); StrHelper是否可以把这个也发给我呢?yyllcf2008@163.com
liuchangfei | 园豆:45 (初学一级) | 2010-05-24 17:01
这个真的可以吗,web程序有权限做这个操作?
Object.prototype | 园豆:155 (初学一级) | 2010-05-25 11:30
@liuchangfei:那个是拼接数据库连接字符串的,你直接写你的链接字符串不就可以了吗。
Astar | 园豆:40805 (高人七级) | 2010-05-25 15:58
@Astar:我知道啊,你是怎么写的StrHelper这个啊,??
liuchangfei | 园豆:45 (初学一级) | 2010-05-25 20:36
其他回答(2)
0

创建SQL server 没问题。

我这儿有个源码在线管理SQL Server,可以发给你

3w@live.cn

邀月 | 园豆:25475 (高人七级) | 2010-05-24 10:30
yyllcf200@163.com发给我哦,谢谢
支持(0) 反对(0) liuchangfei | 园豆:45 (初学一级) | 2010-05-24 16:48
@liuchangfei:你给的邮箱不存在!!!!!
支持(0) 反对(0) 邀月 | 园豆:25475 (高人七级) | 2010-05-24 23:42
@邀月:yyllcf2008@163.com 实在不好意思,发错了
支持(0) 反对(0) liuchangfei | 园豆:45 (初学一级) | 2010-05-25 08:58
@liuchangfei:已经发送。
支持(0) 反对(0) 邀月 | 园豆:25475 (高人七级) | 2010-05-25 16:29
@邀月:收到,但是不能运行????解决不了错误!!!
支持(0) 反对(0) liuchangfei | 园豆:45 (初学一级) | 2010-05-25 20:35
0

用SQL语句创建:

Create database

Hawkon | 园豆:225 (菜鸟二级) | 2010-05-24 10:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册