一尘不染

由于数据库是版本706,因此无法打开。该服务器支持版本655和更早版本。不支持降级路径

sql

我的文件App_Data夹中有数据库文件,我的网络配置如下所示

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <connectionStrings>
    <add name="TicketsConnectionString" 
         connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Tickets.mdf;Integrated Security=SSPI;User Instance=True;" 
   providerName="System.Data.SqlClient" />

  </connectionStrings>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
  </system.web>
</configuration>

我有Default.aspx页面

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:TextBox ID="LastName" runat="server"></asp:TextBox>
        <asp:TextBox ID="FirstName" runat="server"></asp:TextBox>
        <asp:TextBox ID="Phone1" runat="server"></asp:TextBox>
        <asp:TextBox ID="Phone2" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
        <br />
        <br />
        <asp:Label ID="DisplayMessage" runat="server" style="color: #FF0000" Visible="false" />
        <br />
        <br />
        <br />
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TicketsConnectionString %>" SelectCommand="SELECT * FROM [Employee]" DeleteCommand="DELETE FROM [Employee] WHERE [EmpID] = @EmpID" InsertCommand="INSERT INTO [Employee] ([LastName], [FirstName], [Phone1], [Phone2]) VALUES (@LastName, @FirstName, @Phone1, @Phone2)" UpdateCommand="UPDATE [Employee] SET [LastName] = @LastName, [FirstName] = @FirstName, [Phone1] = @Phone1, [Phone2] = @Phone2 WHERE [EmpID] = @EmpID">
            <DeleteParameters>
                <asp:Parameter Name="EmpID" Type="Int32" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="LastName" Type="String" />
                <asp:Parameter Name="FirstName" Type="String" />
                <asp:Parameter Name="Phone1" Type="String" />
                <asp:Parameter Name="Phone2" Type="String" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="LastName" Type="String" />
                <asp:Parameter Name="FirstName" Type="String" />
                <asp:Parameter Name="Phone1" Type="String" />
                <asp:Parameter Name="Phone2" Type="String" />
                <asp:Parameter Name="EmpID" Type="Int32" />
            </UpdateParameters>
        </asp:SqlDataSource>

        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" BackColor="White" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" DataKeyNames="EmpID" DataSourceID="SqlDataSource1" ForeColor="Black" GridLines="Vertical">
            <AlternatingRowStyle BackColor="#CCCCCC" />
            <Columns>
                <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
                <asp:BoundField DataField="EmpID" HeaderText="EmpID" InsertVisible="False" ReadOnly="True" SortExpression="EmpID" />
                <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
                <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
                <asp:BoundField DataField="Phone1" HeaderText="Phone1" SortExpression="Phone1" />
                <asp:BoundField DataField="Phone2" HeaderText="Phone2" SortExpression="Phone2" />
            </Columns>
            <FooterStyle BackColor="#CCCCCC" />
            <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
            <SortedAscendingCellStyle BackColor="#F1F1F1" />
            <SortedAscendingHeaderStyle BackColor="#808080" />
            <SortedDescendingCellStyle BackColor="#CAC9C9" />
            <SortedDescendingHeaderStyle BackColor="#383838" />
        </asp:GridView>

    </div>
    </form>
</body>
</html>

和一个Default.aspx.cs页面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

public partial class _Default : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        GridView1.DataBind();
    }

    string connectionString = ConfigurationManager.ConnectionStrings["TicketsConnectionString"].ConnectionString;

    protected void Button1_Click(object sender, EventArgs e)
    {


        DataSet ds = new DataSet();
        SqlConnection con = new SqlConnection(connectionString);
        SqlCommand cmd = new SqlCommand("InsertIntoEmployee", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@LastName", SqlDbType.NVarChar).Value = LastName.Text;
        cmd.Parameters.Add("@FirstName", SqlDbType.NVarChar);
        cmd.Parameters.Add("@Phone1", SqlDbType.NVarChar);//SqlDbType.NVarChar allowed to insert Russian letters
        cmd.Parameters.Add("@Phone2", SqlDbType.NVarChar);
        cmd.Parameters["@LastName"].Value = LastName.Text;
        cmd.Parameters["@FirstName"].Value = FirstName.Text;
        cmd.Parameters["@Phone1"].Value = Phone1.Text;
        cmd.Parameters["@Phone2"].Value = Phone2.Text;
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();



        DisplayMessage.Text = "袟邪锌懈褋褜 写芯斜邪胁谢械薪邪.";
            DisplayMessage.Visible = true;

    }
}

并抛出此错误

The database 'G:\SITES\WEBSITE6\APP_DATA\TICKETS.MDF' cannot be opened because it is version 706. This server supports version 655 and earlier. A downgrade path is not supported.
Could not open new database 'G:\SITES\WEBSITE6\APP_DATA\TICKETS.MDF'. CREATE DATABASE is aborted.
An attempt to attach an auto-named database for file G:\sites\WebSite6\App_Data\Tickets.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: The database 'G:\SITES\WEBSITE6\APP_DATA\TICKETS.MDF' cannot be opened because it is version 706. This server supports version 655 and earlier. A downgrade path is not supported.
Could not open new database 'G:\SITES\WEBSITE6\APP_DATA\TICKETS.MDF'. CREATE DATABASE is aborted.
An attempt to attach an auto-named database for file G:\sites\WebSite6\App_Data\Tickets.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

Source Error:


Line 14:     protected void Page_Load(object sender, EventArgs e)
Line 15:     {
Line 16:         GridView1.DataBind();
Line 17:     }
Line 18:

我以为连接字符串有问题,但对我来说一切看起来都很好,我的问题如何解决此问题?


阅读 506

收藏
2021-05-05

共1个答案

一尘不染

版本706是来自Sql Server 2012
的数据库文件版本665是来自Sql Server 2008R2的数据库文件(发布SP1吗?)

http://conceptdev.blogspot.com/2009/04/mdf-cannot-be-opened-because-
it-is.html

2021-05-05