|
|
1
68
|
|
2
11
如果您试图实现数据库独立性,则必须假定最低标准。美国国家标准协会 INFORMATION_SCHEMA
鉴于您正在使用ODBC,还可以使用各种 ODBC API calls 也要检索此元数据。 记住,可移植性等同于 write-once test anywhere 因此,您仍然需要在您打算支持的每个平台上测试应用程序。这意味着,由于您只有这么多用于测试的资源,您天生就被限制在有限数量的可能的数据库平台上。 结果是,您需要为您的应用程序找到一个最低的公分母(这比寻找SQL要困难得多),或者构建一个平台相关的部分,其中非可移植函数可以在每个平台的基础上插入。 |
|
|
3
10
但是,为什么要使用特定的查询来执行此操作?
你不能把实现从你想做的事情中抽象出来吗?
然后,对于要支持的每个DBMS,创建一个实现该接口的类,并在TableExists方法中为该DBMS编写特定的逻辑。
在应用程序中,您可以使用一个工厂类为给定上下文创建正确的实现,然后您只需调用TableExists方法。 例如:
我想我应该这样做。 |
|
|
4
4
但是,如果确实必须使用示例中的异常处理来执行检查,则应使用比计数(*)更有效的以下查询,因为数据库没有实际的选择工作要做:
|
|
|
5
4
而是
A.
|
|
|
6
2
|
|
|
7
2
以下内容对我很有用。。。
|
|
|
8
0
如果您想避免使用try-catch解决方案,我建议使用sys.tables使用这种方法
|
|
|
9
0
如果答案是1,则有一个表。 如果答案为0,则没有表。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |