Создайте SQL-соединение с помощью скрипта установки в проекте installshield
В проекте установки InstallShiled у нас есть определенное требование, что нам нужно проверить, существует ли какая-либо конкретная база данных или нет на данном SQL-сервере.
Для этого мы используем приведенный ниже сценарий установки:
szADOConnObjID = "ADODB.Connection"; set pADOConnObj = CreateObject(szADOConnObjID); szConnString = "driver={SQL Server};"; // For TLS 1.2 Only use driver={SQL Server Native Client 11.0}; szConnString = szConnString + "server=SQLServerName;"; szConnString = szConnString + "Initial Catalog=master;"; szConnString = szConnString + "Integrated Security=True"; MessageBox("SQL Connection String: " + szConnString, INFORMATION); try MessageBox("Trying with Windows Authentication first", INFORMATION); if (pADOConnObj.State==0)then pADOConnObj.Open(szConnString); MessageBox("Connection Success", INFORMATION); endif; catch MessageBox("Windows Authentication Catch",INFORMATION); MessageBox(Err.Description , SEVERE); endcatch;
С приведенным выше скриптом установки он дает следующую ошибку:
--------------------------- Sample SQL Connect - InstallShield Wizard --------------------------- Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done. --------------------------- OK ---------------------------
Есть идеи, что я здесь делаю не так?
Что я уже пробовал:
szADOConnObjID = "ADODB.Connection"; set pADOConnObj = CreateObject(szADOConnObjID); szConnString = "driver={SQL Server};"; // For TLS 1.2 Only use driver={SQL Server Native Client 11.0}; szConnString = szConnString + "server=SQLServerName;"; szConnString = szConnString + "Initial Catalog=master;"; szConnString = szConnString + "Integrated Security=True"; MessageBox("SQL Connection String: " + szConnString, INFORMATION); try MessageBox("Trying with Windows Authentication first", INFORMATION); if (pADOConnObj.State==0)then pADOConnObj.Open(szConnString); MessageBox("Connection Success", INFORMATION); endif; catch MessageBox("Windows Authentication Catch",INFORMATION); MessageBox(Err.Description , SEVERE); endcatch;