尝试为文件\ bin \ Debug \ aspnetdb.mdf附加自动命名的数据库失败

时间:2013-12-02 10:28:34

标签: c# asp.net sql-server-2008 ado.net connection-string

我正在用C#开发一个类库,在这个类库中,我试图通过ADO.NET代码访问数据库,但是我收到了这个错误。我不知道背后的原因是什么。所以请告诉我如何解决它。

  

System.Data.SqlClient.SqlException:尝试为文件C:\ Users \ vivek.nuna \ Documents \ VisualStudio2005 \ Projects \ SubsystemSyncService \ TestClient \ bin \ Debug \ aspnetdb.mdf附加自动命名的数据库失败。存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上。

这是我正在使用的连接字符串。

<connectionStrings>
    <add name="RegistrationConnString" 
         connectionString="Server=192.168.101.145\SQLEXPRESS;Database=***_HubDB;User Id=sa;Password={C8273EFD-LB2F-4E65-8702-14B61PI08A9}" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

注意:我在aspnetdb.mdf文件夹中看不到文件Debug

这是代码,我如何使用ado.net代码。

private DataSet GetAddressFieldsAccordingtoAddressId(string strAddressId)
{
        try
        {                
            strConnString = ConfigurationManager.ConnectionStrings["RegistrationConnString"].ToString();
            SqlConnection connection = new SqlConnection(strConnString);
            SqlCommand command = new SqlCommand();

            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.CommandText = "[dbo].[PL_spPLUIGetAddressFieldsAccordingtoAddressId]";
            command.Parameters.Add("@lAddressID", System.Data.SqlDbType.Int).Value = Convert.ToInt32(strAddressId);
            command.Connection = connection;

            DataSet dsPwd = new DataSet();               
            SqlDataAdapter dAdapter = new SqlDataAdapter(command);
            dAdapter.Fill(dsPwd);

            command.Dispose();
            dAdapter.Dispose();

            return dsPwd;
        }
        catch (Exception ex)
        {
            return null;
        }
    }

我已经在C#表单中添加了这个类库的引用。

C#表单正在调用这个类库的方法。

1 个答案:

答案 0 :(得分:0)

如果您想为应用程序提供独立数据库,则应该查看

SQL Server Compact:http://www.microsoft.com/sqlserver/2008/en/us/compact.aspx

SQLite:http://sqlite.phxsoftware.com/

对于连接字符串,请参阅http://www.connectionstrings.com/access-2003/

SqlCeConnection sqlConnection1 = new SqlCeConnection();
sqlConnection1.ConnectionString = "Data Source = C:\\Users\\Administrator\\My Documents\\BMS_Data.sdf;Persist Security Info=False";