VS2005中添加数据源 加载MS SQL Server 数据库文件显示error: 25 - 连接字符串无效与 error: 26 定位指定的服务器/实例时出错的问题?

时间:2021-02-20 17:58:28
    将原来的SQL 2005是EXPRESS版,花了几天升级为SQL server 2005 开发版。
    在VS中的添加数据源时,在加载MS SQL Server,说明为使用此选择通过用于SQL Server 的.net Framework 数据提供程序连接到 Microsoft SQL Server 2000 或2005), 开启SQL Server服务后,可以打开数据库。
    连接字符串为:“Data Source=NETSDK;Initial Catalog=D:\TDDOWNLOAD\1SAMPLE\DATABASE\北風貿易.MDF;Integrated Security=True”

   但添加新数据源时,加载“Microsoft SQL Server 数据库文件”,说明为:使用此选择通过用于SQL Server的.NET Framework 数据提供程序将一个数据库文件附加到本地Microsoft SQL Server实例(Microsoft SQL ExPress)。添加任何SQL数据库会显示“: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错”。经查实是实例名错,点添加数据源对话框中的高级,有两个DataSource 选项,将原默认DataSource:.\SQLEXPRESS 改为现有的.\MSSQLSERVER。
   原以为能顺利通过测试连接,但还是出现错误代码:““provider: SQL 网络接口, error: 25 - 连接字符串无效””。连接字符串为:“Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Documents and Settings\WangJie\桌面\Data.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True”。
    百思不得其解,请高手帮忙解决。

15 个解决方案

#1


不好意思, 最下一行的连接字符串输错了为:Data Source=.\MSSQLSERVER;AttachDbFilename=D:\TDDOWNLOAD\1Sample\Database\北風貿易.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

#2


你的连接串有问题,为什么连接的是MDF,应该是数据库才对
SqlConnection   cn=new   SqlConnection( "server=.\实例名;database=pubs;uid=sa;pwd=sa "); 

#3


连接字符串的问题

#4


问题是这是vs2005自动生成的连接字符串啊。

#5


需要指定provider: ProviderName="System.Data.SqlClient"
下面是一个示例:
<asp:SqlDataSource ID="MySourceControlName" Runat="server"

connectionString="

Data Source=.\SQLExpress;

AttachDbFileName=|DataDirectory|\MyDataFileName.mdf;

Integrated Security=True;

User Instance=true"

ProviderName="System.Data.SqlClient"

SelectCommand="SELECT Field1, [Field With Space] FROM MyTable">

</asp:SqlDataSource>

#6


需要说明一下:
    首先,我添加的是“Microsoft SQL Server 数据库文件”,而非“Microsoft SQL Server ”。测试连接“Microsoft SQL Server “成功,没有任何问题。
    第二,添加“Microsoft SQL Server 数据库文件,是运行“数据生成向导”,自动添加的数据源中,不知道如何修改连接字符串?请大侠指导。而在另一台安装有SQL 2005 Express版的VS2005中可以通过测试连接。连接字符串除了“Data Source=.\MSSQLSERVER”不同,为“.\MSSQLExpress"以外,其他都一样。为什么EXpress版的连接字符串能够成功,而SQL 开发版的连接不成功,有没有可能是开发版配置有问题?

#7


可能开发版用的不是默认实例?
打开外围服务配置器--服务和连接的外围应用配置器,
看看里面的实例名称。
将所要访问的实例的服务启动,并将远程连接打开,选择同时使用tcp/ip和named piped.

#8


    对开发版用的不是默认实例,默认实例为:MSSQLExpress,开发版实例为\MSSQLSERVER。在连接向导中的“高级”默认为MSSQLExpress,实例名称如果不改为\MSSQLSERVER,则会提示 error: 26 - 定位指定的服务器/实例时出错。这种情况我能理解。
    但将实例改为\MSSQLSERVER,会出现“error: 25 - 连接字符串无效”,这一点不懂。
    另外,远程连接已经打开。

#9


建议将数据库备份出来,全新安装新的版本,然后还原或附加数据库.

#10


重装系统太麻烦,仅装VS2005+SP1,SQL2005就得1天以上。还有应用软件,太麻烦了。

#11


我也遇到这个问题了,你解决了吗》????

#12


解决了吗?

#13


我也很关心这个问题

#14


我也遇到这个问题,哪一个高手解决此问题?我用MSSQL2000.

#15


如果在机器上 同时安装了vs2005自带的sqlexpress  和sql server 2005  会有两个实例

连接字符串是不同的

对应不同的数据源配置方式 

我做了一下比较,写在配置文件中


<!--在VS中使用SQLEXPRESS,视图-服务器资源管理器-数据连接-添加连接
数据源选“Microsoft SQL Server 数据库文件”" /-->
        <add name="cjgl.Properties.Settings.xscjConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=F:\课程教案\CSharpDotNet\test\cjgl\db\xscj.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
            providerName="System.Data.SqlClient" />





<!--使用MSSQLSERVER,视图-服务器资源管理器-数据连接-添加连接
数据源选“Microsoft SQL Server”" /-->
<!--add name="cjgl.Properties.Settings.xscjConnectionString" connectionString="Data Source=XXXXXXX;Initial Catalog=F:\课程教案\CSHARPDOTNET\TEST\CJGL\DB\XSCJ.MDF;Integrated Security=True"
            providerName="System.Data.SqlClient" /-->
<!--由于在SQL Server 2005中选择了附加数据库,所以Initial Catalog很长,可以在SSMS中“重命名”后使用下面的 /-->
<!--add name="cjgl.Properties.Settings.xscjConnectionString" connectionString="Data Source=XXXXXXX;Initial Catalog=xscj;Integrated Security=True"
            providerName="System.Data.SqlClient" /-->
<!--使用Microsoft SQL Server身份验证,登录名testdb密码123456密码/-->
<!--add name="cjgl.Properties.Settings.xscjConnectionString" connectionString="Data Source=XXXXXXX;Initial Catalog=xscj;User ID=testdb;Password=123456"
            providerName="System.Data.SqlClient" /-->

#1


不好意思, 最下一行的连接字符串输错了为:Data Source=.\MSSQLSERVER;AttachDbFilename=D:\TDDOWNLOAD\1Sample\Database\北風貿易.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

#2


你的连接串有问题,为什么连接的是MDF,应该是数据库才对
SqlConnection   cn=new   SqlConnection( "server=.\实例名;database=pubs;uid=sa;pwd=sa "); 

#3


连接字符串的问题

#4


问题是这是vs2005自动生成的连接字符串啊。

#5


需要指定provider: ProviderName="System.Data.SqlClient"
下面是一个示例:
<asp:SqlDataSource ID="MySourceControlName" Runat="server"

connectionString="

Data Source=.\SQLExpress;

AttachDbFileName=|DataDirectory|\MyDataFileName.mdf;

Integrated Security=True;

User Instance=true"

ProviderName="System.Data.SqlClient"

SelectCommand="SELECT Field1, [Field With Space] FROM MyTable">

</asp:SqlDataSource>

#6


需要说明一下:
    首先,我添加的是“Microsoft SQL Server 数据库文件”,而非“Microsoft SQL Server ”。测试连接“Microsoft SQL Server “成功,没有任何问题。
    第二,添加“Microsoft SQL Server 数据库文件,是运行“数据生成向导”,自动添加的数据源中,不知道如何修改连接字符串?请大侠指导。而在另一台安装有SQL 2005 Express版的VS2005中可以通过测试连接。连接字符串除了“Data Source=.\MSSQLSERVER”不同,为“.\MSSQLExpress"以外,其他都一样。为什么EXpress版的连接字符串能够成功,而SQL 开发版的连接不成功,有没有可能是开发版配置有问题?

#7


可能开发版用的不是默认实例?
打开外围服务配置器--服务和连接的外围应用配置器,
看看里面的实例名称。
将所要访问的实例的服务启动,并将远程连接打开,选择同时使用tcp/ip和named piped.

#8


    对开发版用的不是默认实例,默认实例为:MSSQLExpress,开发版实例为\MSSQLSERVER。在连接向导中的“高级”默认为MSSQLExpress,实例名称如果不改为\MSSQLSERVER,则会提示 error: 26 - 定位指定的服务器/实例时出错。这种情况我能理解。
    但将实例改为\MSSQLSERVER,会出现“error: 25 - 连接字符串无效”,这一点不懂。
    另外,远程连接已经打开。

#9


建议将数据库备份出来,全新安装新的版本,然后还原或附加数据库.

#10


重装系统太麻烦,仅装VS2005+SP1,SQL2005就得1天以上。还有应用软件,太麻烦了。

#11


我也遇到这个问题了,你解决了吗》????

#12


解决了吗?

#13


我也很关心这个问题

#14


我也遇到这个问题,哪一个高手解决此问题?我用MSSQL2000.

#15


如果在机器上 同时安装了vs2005自带的sqlexpress  和sql server 2005  会有两个实例

连接字符串是不同的

对应不同的数据源配置方式 

我做了一下比较,写在配置文件中


<!--在VS中使用SQLEXPRESS,视图-服务器资源管理器-数据连接-添加连接
数据源选“Microsoft SQL Server 数据库文件”" /-->
        <add name="cjgl.Properties.Settings.xscjConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=F:\课程教案\CSharpDotNet\test\cjgl\db\xscj.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
            providerName="System.Data.SqlClient" />





<!--使用MSSQLSERVER,视图-服务器资源管理器-数据连接-添加连接
数据源选“Microsoft SQL Server”" /-->
<!--add name="cjgl.Properties.Settings.xscjConnectionString" connectionString="Data Source=XXXXXXX;Initial Catalog=F:\课程教案\CSHARPDOTNET\TEST\CJGL\DB\XSCJ.MDF;Integrated Security=True"
            providerName="System.Data.SqlClient" /-->
<!--由于在SQL Server 2005中选择了附加数据库,所以Initial Catalog很长,可以在SSMS中“重命名”后使用下面的 /-->
<!--add name="cjgl.Properties.Settings.xscjConnectionString" connectionString="Data Source=XXXXXXX;Initial Catalog=xscj;Integrated Security=True"
            providerName="System.Data.SqlClient" /-->
<!--使用Microsoft SQL Server身份验证,登录名testdb密码123456密码/-->
<!--add name="cjgl.Properties.Settings.xscjConnectionString" connectionString="Data Source=XXXXXXX;Initial Catalog=xscj;User ID=testdb;Password=123456"
            providerName="System.Data.SqlClient" /-->