我最近将数据库从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