Visual Studio 2010 找不到在 SQL Server Management Studios 中创建的数据库 [英] Database created in SQL Server Management Studios cannot be found by Visual Studio 2010

查看:39
本文介绍了Visual Studio 2010 找不到在 SQL Server Management Studios 中创建的数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 SQL Server 2008 Management Studio 的本地主机上创建了一个新数据库 (AC_2012).

我正在尝试通过 Visual Studio 2010 Premium 中 web.config 中的连接字符串连接它.它不会捡起来.

<预><代码><配置><configSections><部分名称="实体框架"type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/></configSections><system.web><编译调试="true" targetFramework="4.0"/></system.web><连接字符串><添加名称="AC_2012"connectionString="server=.\SQLEXPRESS;database=AC_2012;integrated security=True;"providerName="System.Data.SqlClient"/></connectionStrings></配置>

这是我尝试调用连接字符串的方式..是的,它还没有完成..

public static void storedProcedure(string[] paramName, string[] paramValue, string sproc){SqlConnection conn = null;SqlDataReader 阅读器 = null;尝试{string connStr = ConfigurationManager.ConnectionStrings["AC_2012"].ConnectionString;conn = new SqlConnection(connStr);读者 = 新的 SqlDataReader();数据表 dt = 新数据表();conn.Open();SqlCommand cmd = new SqlCommand(sproc, conn);for (int x = 0; x 

解决方案

带下划线的数据库名称_需要用方括号[]分隔.

试试

connectionString="server=.\SQLEXPRESS;database=[AC_2012];integrated security=True;"

或者,不要在您的数据库名称中添加下划线.

I created a new database (AC_2012) on my localhost in SQL Server 2008 Management Studio.

I'm trying to connect it via connection string in web.config in Visual Studio 2010 Premium. It won't pick it up.

<configuration>
    <configSections>
        <section name="entityFramework" 
                 type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </configSections>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
    </system.web>
    <connectionStrings>
        <add name="AC_2012" 
             connectionString="server=.\SQLEXPRESS;database=AC_2012; integrated security=True;"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

And here's how I'm trying to call the connection string.. yes it isn't finished..

public static void storedProcedure(string[] paramName, string[] paramValue, string sproc)
{
    SqlConnection conn = null;
    SqlDataReader reader = null;

    try
    {
        string connStr = ConfigurationManager.ConnectionStrings["AC_2012"].ConnectionString;
        conn =  new SqlConnection(connStr);
        reader = new SqlDataReader();

        DataTable dt = new DataTable();

        conn.Open();
        SqlCommand cmd = new SqlCommand(sproc, conn);

        for (int x = 0; x < paramName.Count(); x++)
        {
            cmd.Parameters.Add(new SqlParameter(paramName[x], paramValue[x]));
        }

        reader = cmd.ExecuteReader();

        while (reader.Read())
        {
        }
    }
    catch (Exception e)
    ...

解决方案

Database names with an underscore _ need to be delimited with square braces [].

Try

connectionString="server=.\SQLEXPRESS;database=[AC_2012]; integrated security=True; "

Alternatively, just don't put an underscore in your database name.

这篇关于Visual Studio 2010 找不到在 SQL Server Management Studios 中创建的数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆