我正在编写一个能够连接到多种类型数据库的应用程序(例如:SQL Server,Oracle,MySQL等)。它是一个面向国际的应用程序,所以我理想的是希望能够在不需要依赖字符串文字的情况下执行此操作。目前,我正在检查驱动程序名称并使用case语句。有更好的方法吗?
提前致谢!
答案 0 :(得分:1)
执行此操作的一种方法是检查连接对象“数据源名称”和“DBMS”属性
实施例
'lets say you have a connection object like below
Cn1.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=dbname;User=root;Password=;Option=3"
Cn1.open
'Once the connection is opened, get the properties you are interested in
If Cn1.Properties(9) = "MS Jet" Then 'if you are connected to Access
strDBType = "Jet"
ElseIf Cn1.Properties(11) = "MySQL" Then 'if you are connected to MySQL or MSSQL
strDBType = "MySQL"
End If
HTH
答案 1 :(得分:0)
当我在当天使用VB6时,我可能会建议一种对我来说效果很好的方法。
创建一个定义方法,属性等的Interface类......也许其中一个属性应该是DatabaseType。然后为将要使用的每种类型的数据库创建一个实现上述接口的类。
在实例化相应的类之后,您始终可以查询其DatabaseType属性以找出您正在使用的数据库。