以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQL创建数据库失败  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172864)

--  作者:2900819580
--  发布时间:2021/11/4 17:36:00
--  [求助]SQL创建数据库失败
Dim cmd As new SQLCommand
cmd.Conne cti
Dim bm As String = "Test"

cmd.CommandText = "Sel ect 1 from sys.databases where name = \'" & bm & "\'"
Dim val As Integer = cmd.Execut eScalar()
If val = 0 Then
    cmd.CommandText = " crea te database CommonPermission"
    cmd.CommandText &= " on primary " \' --表示属于 primary 文件组
    cmd.CommandText &= " ( name = \'" & bm & "\', " \' -- 主数据文件的逻辑名称
    cmd.CommandText &= " filename = \'d:\\DATA\\" & bm & ".mdf\'," \' -- 主数据文件的物理名称
    cmd.CommandText &= " size = 5mb, " \' --主数据文件的初始大小
    cmd.CommandText &= " maxsize = 100mb, " \' -- 主数据文件增长的最大值
    cmd.CommandText &= " filegrowth = 15% ) " \' --主数据文件的增长率

    cmd.CommandText &= " log on ( "
    cmd.CommandText &= " name = \'" & bm & "_log\', " \' -- 日志文件的逻辑名称
    cmd.CommandText &= " filename = \'C:\\DATA\\" & bm & "_log.ldf\'," \' -- 日志文件的物理名称
    cmd.CommandText &= " size = 2mb, " \' --日志文件的初始大小
    cmd.CommandText &= " maxsize = 20mb, " \' --日志文件增长的最大值
    cmd.CommandText &= " filegrowth = 1mb )" \' --日志文件的增长率
    cmd.ExecuteNo nQuery
    MessageBox.Show("数据新增完成!")
End If


.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.9.2.1
错误所在事件:
详细错误信息:
CREATE DATABASE 失败.无法创建列出的某些文件名.请查看相关错误.
对文件 "C:\\DATA\\Test_log.ldf" 的目录查找失败,出现操作系统错误 2(系统找不到指定的文件.).

--  作者:有点蓝
--  发布时间:2021/11/4 17:43:00
--  
\'d:\\DATA\\"、\'C:\\DATA\\" 这些目录必须预先存在。需要使用sa等有权限的用户登录数据库
--  作者:2900819580
--  发布时间:2021/11/4 17:57:00
--  
    cmd.CommandText &= " filename = \'D:\\DATA\\" & bm & "_log.ldf\'," \' -- 日志文件的物理名称

更改以上路径,出现以下错误,
增加 MessageBox.Show(val)  val值显示 0
进数据库看不到Test数据库;

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.9.2.1
错误所在事件:
详细错误信息:
数据库 \'CommonPermission\' 已存在。请选择其他数据库名称。

--  作者:有点蓝
--  发布时间:2021/11/4 20:12:00
--  
创建的数据库名称是CommonPermissioncmd.CommandText = " create database CommonPermission"

而不是test
cmd.CommandText = " create database " & bm