Cannot Connect to New Database Server using ADO
I have created automation scripts that used an ADO command object to connect to our internal server's databases and make several select, update and insert statements, and that would run great.
We recently migrated to a new database server and now even with the proper edits to my connection string, I can't appear to connect to the database despite the connection string test being a success.
Here is an example of my code.
var Qry = ADO.CreateADOCommand();
var dbname = DatabaseName;
Qry["ConnectionString"] = "Provider=SQLOLEDB.1;Password=pw;Persist Security Info=True;User ID=SQLServerUsr;Initial Catalog=dbname;Data Source=Servername";
for(var i = 1; i <= rowcount; i++) {
var testcell = VarToStr(xlsheet.Cells(i+1, 61).Value);
Log.Message(testcell);
tags[i] = testcell;
Qry["CommandText"] = "SELECT catalogid FROM oproducts WHERE oproducts.cname = '" + prodnamesarray[i] + "'"
Qry.CommandType = cmdText;
var catalognum = Qry["Execute"]();
prodids[i] = catalognum.Fields.Item("catalogid").Value;
}
for(var j = 1; j < rowcount; j++) {
if(tags[j] != "") {
Qry["CommandText"] = "INSERT INTO MenuTagProductMap (MenuTagID, MenuProductID, EnteredDate) VALUES('" + tags[j] + "', '" + prodids[j] + "', GETDATE())";
Qry.CommandType = cmdText;
}
}
I also made my connection string by using the stores object in testcomplete to connect to my database initially.
I was made aware of permission changes on the new server, but I have had my test user given the proper permissions, but it doesn't appear to be connecting still, anyone have any ideas as to why this may be?
The error occurs on the first instance of calling Qry[Execute], so the first loop where I call SELECT.
I was able to figure out the root cause of the issue with some help.
Turns out TestComplete likes to leave out "\" in strings, so putting \\ in my connection string got me connected properly.