我的应用程序托管在一个服务于许多客户的中央服务器上。现在需要与驻留在客户位置的数据库服务器交叉引用信息。我可以在运行时指定动态数据源吗?
我想将客户服务器的详细信息与其帐户详细信息(例如数据库名称,主机,端口等)一起存储。
但是,根据谁登录到应用程序,我需要将他们的数据连接详细信息提供给<cfquery>
函数以执行查找。事情是这样的:
<cfquery name="rsOrders" datasource="{dynamically provided connection string}">
SELECT *
FROM
CompanysDBTable
</cfquery>
据我所知,有一个管理员API以编程方式创建一个数据源,但是使用这将意味着额外的过程在我的系统,并会发生什么,如果数据源的详细信息将被更新由客户?
那么有什么办法可以像上面那样在飞行中做到这一点吗?也就是说,在<cfquery>
标签内提供数据连接字符串。
或者还有更好的方法来完成这个吗?
我可以使用管理API更新现有的数据源并创建新的数据源吗?如果客户要更改服务器的详细信息,我需要更新CF中的相关数据源,而不是每次都创建一个新的数据源。 –
你为什么不自己尝试一下,而不是要求其他人为你做你的工作? –
我只是问它是否可能,而不是你做的工作。这似乎是可能的,所以这可能是最好的办法。感谢Adam –