Я недавно перенес базу данных с sql server 2005 на 2008 на windows server 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] Провайдер
Поставщик = MSDASQL.1; Пароль = логин; Постоянная информация о безопасности = Истина; Идентификатор пользователя = sa; Расширенные свойства = "DSN = NET-BRAIN; UID = admin; PWD = грязный перрон; APP = Операционная система Microsoft® Windows® ; WSID = BPOOR-16D68FBC7D; DATABASE = DB_App; Сеть = DBMSSOCN "; Начальный каталог = DB_App
Вот тот же файл UL, использующий собственный поставщик SQL :
"Provider = SQLNCLI10.1; Integrated Security =" "; Persist Security Info = False; ID пользователя = admin; Начальный каталог = DB_APP; Источник данных = NET-BRAIN; Исходное имя файла =" "; Имя сервера SPN =" ""
- получено сообщение об ошибке: Ошибка в Ado Call ... Произошла ошибка в Class_clasAdoFnx_initialize 3001 Аргументы имеют неправильный тип, находятся вне допустимого диапазона или конфликтуют друг с другом.
- Ошибка: Class_clsAdoFnx_Initialize
3709 Запрошенная операция требует объект сеанса OLE DB, который не поддерживается текущим поставщиком.
пробовал [oledb] для опции поставщика сервера sql
«Провайдер = SQLOLEDB.1; Пароль = грязный пух; Постоянная информация о безопасности = Истина; ИД пользователя = администратор; Начальный каталог = db_app; Источник данных = net-brain»
ошибка: -2147217900 Ошибка входа пользователя 'admin'
UPDATE2: После изоляции открытой строки подключения выясняется, что подключение открывается, и хранимая процедура, с которой я тестировал, не удалась.