[coldbox-6.0.0-RC][qb-7.6.4]

I may have bunged this up a little bit. So I had to switch from a MAC environment using MySql (working perfectly) to a Windows environment using MS Sql Server. While QB seems to see the new database ok, the first query it wants to generate is

SELECT * FROM globalsettings

and those tick marks are not valid for SQL Server and I’m not really sure why they are appearing or how to get rid of them. The only things I have changed was the name of the CF data source name to indicate the new SQL server, the coldbox settings db variable to point to that same name and the default grammar library to the sql server grammar file rather than the MySql one. My Windows partition (vm) is in parallels on my MAC and it cannot see any running mysql server running (plus I turned if off for good measure)…and again, the error is not that it cannot communicate with SQL Server, it’s just not providing the right syntax for it.

SQL server is 2019 developer edition on a windows 10 box, both fully patched.

What am I doing ?

Mike

Can you paste your ‘config/ColdBox.cfc` file? If you changed your `defaultGrammar` then make sure you did a reinit.

component{

// Configure ColdBox Application
function configure(){

// coldbox directives
coldbox = {
//Application Setup
appName = getSystemSetting( "XXXX", "XXXX Operations" ),
eventName = "event",

//Development Settings
reinitPassword = "",
handlersIndexAutoReload = true,

//Implicit Events
defaultEvent = "",
requestStartHandler = "System.onRequestStart",
requestEndHandler = "",
applicationStartHandler = "System.onAppInit",
applicationEndHandler = "",
sessionStartHandler = "System.onSessionStart",
sessionEndHandler = "",
missingTemplateHandler = "",

//Extension Points
applicationHelper = "includes/helpers/ApplicationHelper.cfm",
viewsHelper = "",
modulesExternalLocation = [],
viewsExternalLocation = "",
layoutsExternalLocation = "",
handlersExternalLocation = "",
requestContextDecorator = "",
controllerDecorator = "",

//Error/Exception Handling
invalidHTTPMethodHandler = "",
exceptionHandler = "",
invalidEventHandler = "",
customErrorTemplate = "",

//Application Aspects
handlerCaching = false,
eventCaching = false,
viewCaching = false,
// Will automatically do a mapDirectory() on your `models` for you.
autoMapModels = true,
// new to 6
jsonPayloadToRC = true
};

// custom settings
settings = {
db = {type="mssql", name="launchops-mssql"},
dbmysql= {type="mysql", name="launchops-mysql"},
azure_db = {type="mssql", name="remote-azure-misc"},
copyrighttext = "Copyright © 2004 - #year(now())#"
};
// environment settings, create a detectEnvironment() method to detect it
yourself.
// create a function with the name of the environment so it can be executed
if that environment is detected
// the value of the environment is a list of regex patterns to match the
cgi.http_host.
environments = {
development = "localhost,^127\.0\.0\.1"
};

// Module Directives
modules = {
// An array of modules names to load, empty means all of them
include = [],
// An array of modules names to NOT load, empty means none
exclude = []
};

//LogBox DSL
logBox = {
// Define Appenders
appenders = {
coldboxTracer = { class="coldbox.system.logging.appenders.ConsoleAppender" }
},
// Root Logger
root = { levelMax="INFO", appenders="*" },
// Implicit Level Categories
info = [ "coldbox.system" ]
};

//Layout Settings
layoutSettings = {
defaultLayout = "admin.cfm",
defaultView = ""
};

//Interceptor Settings
interceptorSettings = {
customInterceptionPoints = ""
};

//Register interceptors as an array, we need order
interceptors = [
{class="interceptors.SpecialRequestKeys", properties={}}
// ,{class="interceptors.SpecialInitializations", properties={}}
];
// flash scope configuration
flash = {
scope = "session",
properties = {}, // constructor properties for the flash scope
implementation
inflateToRC = true, // automatically inflate flash data into the RC scope
inflateToPRC = false, // automatically inflate flash data into the PRC scope
autoPurge = true, // automatically purge flash data for you
autoSave = true // automatically save flash scopes at end of a request and
on relocations.
};

cbStorages = {
cacheStorage = {
cachename = "template", // The CacheBox registered cache to store data in
timeout = 60 // The default timeout of the session bucket, defaults to 60
},

// Cookie Storage settings
cookieStorage = {
// Matches the secure attribute of cfcookie, ssl only
secure = false,
// If yes, sets cookie as httponly so that it cannot be accessed using
JavaScripts
httpOnly = true,
// Applicable global cookie domain
domain = "",
// Use encryption of values
useEncryption = false,
// The unique seeding key to use: keep it secret, keep it safe
encryptionSeed = "SoundRocket!CBStorages@Monkey",
// The algorithm to use: encrypt Code Examples and CFML Documentation
encryptionAlgorithm = "AES",
// The encryption encoding to use
encryptionEncoding = "Base64"
}
}
//Debugger Settings
debugger = {
// Activate debugger for everybody
debugMode = false,
// Setup a password for the panel
debugPassword = "",
enableDumpVar = true,
persistentRequestProfiler = true,
maxPersistentRequestProfilers = 10,
maxRCPanelQueryRows = 50,
showTracerPanel = true,
expandedTracerPanel = true,
showInfoPanel = true,
expandedInfoPanel = true,
showCachePanel = true,
expandedCachePanel = false,
showRCPanel = true,
expandedRCPanel = false,
showModulesPanel = true,
expandedModulesPanel = false,
showQBPanel = true,
expandedQBPanel = false,
showRCSnapshots = false,
wireboxCreationProfiler=false
};
// module setting overrides
moduleSettings = {
qb = {
defaultGrammar = "SqlServerGrammar@qb"
}
};

mailsettings = {
// The default token Marker Symbol
tokenMarker = "%",
// protocol
protocol = {
class = "cbmailservices.models.protocols.CFMailProtocol",
properties = {}
}
};
}
}

Not sure what that's gonna do but there you go...hope you see something I'm
missing. As far as reinit...yeah, first thing plus shut down the server
and restarted.

ah...hang on...remember that conversation I started about using the map()
in wirebox to create the defaultquerybuilder...forgot that I'm using that
thing...problem solved...I knew there must have been something I was
overlooking.

Mike