[libgda] Added specific code for SqlServer accessed through JDBC
- From: Vivien Malerba <vivien src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] Added specific code for SqlServer accessed through JDBC
- Date: Thu, 25 Apr 2013 20:31:36 +0000 (UTC)
commit a4026ba4e602aa82e5ebb0d9b5da712fed4a7dad
Author: Vivien Malerba <malerba gnome-db org>
Date: Thu Apr 25 22:25:23 2013 +0200
Added specific code for SqlServer accessed through JDBC
providers/jdbc/Makefile.am | 3 ++-
providers/jdbc/provider.java | 16 +++++++++++++++-
providers/jdbc/sqlserver.java | 11 +++++++++++
3 files changed, 28 insertions(+), 2 deletions(-)
---
diff --git a/providers/jdbc/Makefile.am b/providers/jdbc/Makefile.am
index 4883120..1a95f73 100644
--- a/providers/jdbc/Makefile.am
+++ b/providers/jdbc/Makefile.am
@@ -80,7 +80,8 @@ jdbcprov_sources = \
provider.java \
meta.java \
derby.java \
- h2.java
+ h2.java \
+ sqlserver.java
jdbcprov_classes = GdaJConnection.class
jdbcprovdir = $(providerdir)
diff --git a/providers/jdbc/provider.java b/providers/jdbc/provider.java
index b3b194d..9634890 100644
--- a/providers/jdbc/provider.java
+++ b/providers/jdbc/provider.java
@@ -246,7 +246,21 @@ class GdaJConnection {
catch (Exception e1) {
// nothing
}
- }
+ }
+ else if (driver.contains ("sqlserver") ||
+ driver.contains ("com.ashna.jturbo.driver.Driver") ||
+ driver.contains ("com.inet.tds.TdsDriver")) {
+ try {
+ name = "sqlserverMeta";
+ Class<?> r = Class.forName (name);
+ java.lang.reflect.Constructor c =
+ r.getConstructor (new Class [] {Class.forName
("java.sql.Connection")});
+ jmeta = (GdaJMeta) c.newInstance (new Object [] {cnc});
+ }
+ catch (Exception e1) {
+ // nothing
+ }
+ }
}
if (jmeta == null)
jmeta = new GdaJMeta (cnc);
diff --git a/providers/jdbc/sqlserver.java b/providers/jdbc/sqlserver.java
new file mode 100644
index 0000000..4e8c111
--- /dev/null
+++ b/providers/jdbc/sqlserver.java
@@ -0,0 +1,11 @@
+import java.sql.*;
+
+// define the current schema as being "dbo"
+
+class sqlserverMeta extends GdaJMeta {
+ public sqlserverMeta (Connection cnc) throws Exception {
+ super (cnc);
+ schemaAddCurrent ("dbo");
+ }
+}
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]