当前位置: 首页 > 面试题库 >

vb6到SQL Server 2008的ADODB连接字符串

呼延修然
2023-03-14
问题内容

我最近将数据库从sql server 2005迁移到Windows Server 2008上的2008。客户端从XP计算机连接正常,SQL
Management Studio 2008也是如此。我还测试了使用LINQPad的远程连接,该连接工作正常。

但是在我的VB6应用程序上,连接字符串似乎给我带来了问题。有什么想法我做错了吗?

    Dim strUserName As String
     Dim strPassword As String
     Dim sProc As String

     sProc = "Class_clsAdoFnx_Initialize"

        Me.DatabaseName = "db_app"




 'Connect to SQL Server

    strUserName = "admin"
    strPassword = "mudslinger"

    Set cSQLConn = New ADODB.Connection
    '**Original connection String
    'cSQLConn.CommandTimeout = 0
    'cSQLConn.ConnectionString = " PROVIDER=SQLOLEDB" & _
    '    ";SERVER=NET-BRAIN" & _
    '    ";UID=" & strUserName & _
    '    ";PWD=" & strPassword & _
    '    ";DATABASE=" & Me.DatabaseName

    '***First attempt, no dice
    'cSQLConn.ConnectionString = "Provider=sqloledb;" & _
    '       "Data Source=NET-BRAIN;" & _
    '       "Initial Catalog=DB_APP;" & _
    '       "User Id=admin;" & _
    '       "Password=mudslinger"
    'cSQLConn.Open

    '***3rd attempt, no dice 
    cSQLConn.Open "Provider=sqloledb;" & _
           "Data Source=NET-BRAIN;" & _
           "Initial Catalog=db_app;" & _
           "User Id=admin;" & _
           "Password=mudslinger", "admin", "mudslinger"

提前致谢。

更新:这是我使用test.UL文件生成的字符串

[ODBC]提供程序

Provider = MSDASQL.1; Password = logmein; Persist Security Info = True; User
ID = sa; Extended Properties =“ DSN = NET-BRAIN; UID = admin; PWD =
mudslinger; APP =Microsoft®Windows®Operating System; WSID = BPOOR-16D68FBC7D;
DATABASE = DB_App; Network = DBMSSOCN“;初始目录= DB_App

这是使用 SQL Native provider 的相同UL文件:

“ Provider = SQLNCLI10.1;集成安全=”“;持久安全信息= False;用户ID = admin;初始目录= DB_APP;数据源=
NET-BRAIN;初始文件名=”“;服务器SPN =”“

-收到错误:Ado调用中的错误… Class_clasAdoFnx_initialize 3001中存在错误。参数类型错误,超出可接受范围或彼此冲突。-错误:Class_clsAdoFnx_Initialize 3709请求的操作需要OLE DB会话对象,当前提供程序不支持该对象。

尝试对SQL Server提供程序选项 “ [提供程序] = SQLOLEDB.1;密码= mudslinger;持久性安全信息=真实;用户ID =
admin;初始目录= db_app;数据源= net-brain”的 [oledb]

错误:-2147217900用户’admin’登录失败

UPDATE2: 隔离打开的连接字符串后,事实证明连接正在打开,而我用来测试的存储过程失败了。


问题答案:

在将ADO与SQL Server Native Client结合使用以启用SQL Server Native
Client
的使用之后,ADO应用程序将需要在其连接字符串中实现以下关键字:

Provider = SQLNCLI10
DataTypeCompatibility = 80

Dim con As New ADODB.Connection

con.ConnectionString = "Provider=SQLNCLI10;" _
         & "SERVER=NET-BRAIN;" _
         & "Database=DB_APP;" _ 
         & "DataTypeCompatibility=80;" _
         & "User Id=admin;" _
         & "Password=mudslinger;"

con.Open


 类似资料:
  • 本文向大家介绍VB6实现连接Access数据库的ADODB代码实现方法,包括了VB6实现连接Access数据库的ADODB代码实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了使用ADODB.Connection连接access数据库的方法,驱动类型版本为:Microsoft.Jet.OLEDB.4.0。在VB的数据库操作中,连接数据库是第一步,也是最基本的,本文所述的这个例子,对于

  • 我有一个来自ASP.NET的连接字符串,我必须在我的Java应用程序中使用它,然而,我似乎无法弄清楚它为什么不工作。 这是我得到的错误:cannot ;建立 ;连接 ;到 ;jdbc:sqlserver://localhost:1433;databaseName=mydatabase;“ 使用 ;com.microsoft.sqlserver.jdbc.sqlserverdriver ;( ;连接

  • 我试图在VBA中使用SQL来更新Excel中现有表中的数据(与VBA代码相同的文件)。这是用SQL查询编写的,更新的目的是在推出后不久将源数据移动到数据库中,但有原因不是现在。我不断得到“操作必须使用可更新查询”的错误。一些源在扩展属性中显示只读,而一些不显示只读;两人都试过。StatusData是Excel文件中的命名范围。使用命名范围的SELECT语句在使用以下连接字符串时工作正常: DBFu

  • 问题内容: 我的数据库中有一列,其中包含4个字段,以“ \”定界字符串。 在我的报告中,我根据需要分别拆分了这些字段。 我还需要单独使用这些字段作为针对另一个表的条件。 我尝试过的事情: 临时表: 然后将其与另一个表连接。 我也尝试立即加入而不将值存储在表中: 我想 避免 使用临时表,并使其类似于第二种方法。如果这是不可避免的,那就这样吧。 有人对此有解决方案吗? 谢谢,JFIT 问题答案: 我认