Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQLbackup在部署后出现错误_Sql Server_Vb.net - Fatal编程技术网

Sql server SQLbackup在部署后出现错误

Sql server SQLbackup在部署后出现错误,sql-server,vb.net,Sql Server,Vb.net,我用VB.NET和SQL Server开发了一个软件。备份部分在开发过程中工作正常,但在部署软件后出现错误。 以下是用于备份的代码 试一试 下面是我得到的错误 以“C:\Users\Tawiah Lot\AppData\Local\Apps\2.0\MYZD1.GJK\VN8DB86Q.X24\sms…tion_f2ac7542c8a7d9f7_0001.0000_74e25af910bfcd28\Data”开头的标识符太长。最大长度为128。以下是您的错误: 备份数据库[&System.Win

我用VB.NET和SQL Server开发了一个软件。备份部分在开发过程中工作正常,但在部署软件后出现错误。 以下是用于备份的代码

试一试

下面是我得到的错误

以“C:\Users\Tawiah Lot\AppData\Local\Apps\2.0\MYZD1.GJK\VN8DB86Q.X24\sms…tion_f2ac7542c8a7d9f7_0001.0000_74e25af910bfcd28\Data”开头的标识符太长。最大长度为128。

以下是您的错误:

备份数据库[&System.Windows.Forms.Application.StartupPath& \数据&\Schooldb.mdf]到磁盘='&destdir&',带有 init,stats=10


您应该在此处提供数据库名称,而不是我使用单击一次部署应用程序的路径,该应用程序使应用程序从C:\Users\Tawiah Lot\AppData\Local\Apps\2.0\MYZD1.GJK\VN8DB86Q.X24\sms…tion\u f2ac7542c8a7d9f7\u 0001.0000\u 74e25af910bfcd28\Data运行 这使得路径更长,从而使长度超过最大值128。 为了解决这个问题,我使用了第三方软件高级安装程序。这将在“程序文件”下创建一个具有公司名称的文件夹。
感谢大家的支持。

关于此错误有什么不清楚的地方?路径C:\Users\Tawiah Lot\AppData\Local\Apps\。。。。。太长了。把这个也看一下:把这个也看一下:我认为你是不对的。他正在使用LocalDB,它被路径引用。好的,我会删除它,但不是路径太长,我把它放回去。路径绝对不能替代db_name我自己也不是100%确定MSDN没有在中提到它,但是我链接到的问题使用了与OP相同的方法。这里:我看到,当只传入数据库名称时,备份已成功完成。这个语法是有文档记录的。但我找不到任何接受路径而不是数据库名称的备份数据库描述
        Cursor = Cursors.WaitCursor
        Timer2.Enabled = True
        If mysqlconnectionstring.State = ConnectionState.Closed Then
            mysqlconnectionstring.Open()
        End If

        If (Not System.IO.Directory.Exists("C:\LotSMSBackup")) Then
            System.IO.Directory.CreateDirectory("C:\LotSMSBackup")
        End If
        Dim destdir As String = "C:\LotSMSBackup\LotSMSBackup " & DateTime.Now.ToString("dd-MM-yyyy_HH-mm-ss") & ".bak"



        Dim cb As String = "backup database [" & System.Windows.Forms.Application.StartupPath & "\Data" & "\Schooldb.mdf] to disk='" & destdir & "'with init,stats=10"

        Dim cmd As SqlCommand = New SqlCommand(cb)
        cmd.Connection = mysqlconnectionstring
        cmd.ExecuteReader()

        MessageBox.Show("Successfully performed", "Database Backup", MessageBoxButtons.OK, MessageBoxIcon.Information)

    Catch ex As Exception
        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

    Finally

        mysqlconnectionstring.Close()
    End Try