关于obdc连接sqlserver的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于obdc连接sqlserver的问题相关的知识,希望对你有一定的参考价值。

我在sqlserver的一个数据库中设置了一个用户名admin 密码123456
完了在odbc中DSN设置选择"使用id和密码登陆的SQL Server方式"
底下的id输入admin 密码输入123456
为什么登陆不了?
说是未予信任sqlserver连接相关联
这是什么意思?
如何改正啊
谢谢啦

SQL Server 2000有两种验证模式,缺省安装时就是采用Windows自带的这种验证模式,和Windows的账号绑定的。

如果要使用sa或者SQL Server自己创建的用户访问,需要采用混合验证模式,这样才能使用sa等账号登陆。

所以你要采用这种方式,首先需要更换SQL Server的安全验证模式为混合模式,进入企业管理器,右键点你的服务器名,选择属性,选安全性,把身份验证,修改为SQL Server和Windows.
参考技术A 客户机登录本机的用户和密码须在服务器中创建,不然WINDOWS中不能信任连接,SQL SERVER中就更不能

关于SQLServer2008链接时找不到实例问题解决方案

关于SQLServer2008问题解决方案:

问题:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (Microsoft SQL Server,错误: 2)

如下图:

 

===================================

 

无法连接到 .

 

===================================

 

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (.Net SqlClient Data Provider)

 

------------------------------

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

 

------------------------------

错误号: 2

严重性: 20

状态: 0

 

 

------------------------------

程序位置:

 

    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

    System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean withFailover)

    System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject, Boolean withFailover)

    System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)

    System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)

    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)

    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)

    System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)

    System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

    System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

    System.Data.SqlClient.SqlConnection.Open()

    Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ObjectExplorer.ValidateConnection(UIConnectionInfo ci, IServerType server)

    Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()

 

对于这个问题,字面意思看,就是缺少实例,因为在安装的时候,选择的是默认实例,在这里登录的时候,因为是本地登录,直接用的local。选择windows身份验证,结果就出错了。然后查看服务的时候,没有找到默认实例的服务。因此首先是重新安装一遍SqlServer2008,使用的是自己命名的新实例。安装完成后,查看服务,发现服务中已经有了新实例的名称。

 

右键新服务的属性,在登录中,选择登录身份是本地系统账户。然后登录的时候,在登录界面,服务器类型选择数据库引擎,服务名称选择浏览更多,在数据库引擎下面选择本机的数据库引擎,也就是新建的实例对应的引擎。使用Windows身份登录,直接登录。

 

以上是关于关于obdc连接sqlserver的问题的主要内容,如果未能解决你的问题,请参考以下文章

数据源 连接失败

Sql server 问题处理

SQL Server 2008 R2 开启远程连接

常用jdbc的url

PHP:obdc_exec() 在 Zend 模型中静默失败

关于jsp连接SQLserver 2000 的问题