【发布时间】:2016-05-16 14:37:03
【问题描述】:
我有一个数据库连接字符串列表,即数据库名称。这些数据库具有相同的表结构。我正在尝试做的是动态创建一个连接,添加/删除/修改一个表,但是,如果在任何地方弹出错误,然后是 RollbackTrans,否则,CommitTrans。
让我走上正确道路的基本问题是:
此代码是否可以在经典 ASP 中进行动态命名连接?
'create the dynamic object
execute("Set Con" & index & " = Server.CreateObject(""ADODB.connection"")")
'connect to the dynamic object
execute("Con" & index & ".Open " & DBString(index))
我得到的错误是'Expected end of statement' 在.open 行(最后一个)
【问题讨论】:
-
DBString()函数在做什么?它不是内置函数。 -
只有连接字符串会有所不同,它是一个字符串,因此只需重新分配连接对象 .ConnectionString 属性并根据需要断开/重新连接或将其提供给函数。无需在字符串中执行/评估 VBScript。
-
您使用的是什么 RDMS? (MySQL、SQL Server 等)。
-
@AlexK。同意,但看起来 OP 正在尝试构建多个动态构建的
ADODB.Connection对象,问题是为什么?事实上,为什么您甚至需要更改连接字符串?例如,如果他们使用 SQL Server,它可以使用相同的连接来枚举您命名的所有数据库、表、视图。 -
DBString() 是我的连接字符串(要连接的驱动程序、un、pw、db)。我正在连接到 MySQL 和 SQL Server。 DBString() 是一个连接字符串数组。我有多个具有相同结构(布局)的数据库。当我将表添加到一个数据库时,我希望它添加到所有数据库中。如果任何地方发生错误,我想退出任何更改并报告错误。
标签: asp-classic adodb