aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorlbsa712008-03-30 21:04:45 +0000
committerlbsa712008-03-30 21:04:45 +0000
commitf52886f8f55ba6fd520cc3fffefd9a5607ad2a33 (patch)
tree484913aa8f0bde74cd42f8a7397f34390bb5bb00 /OpenSim/Framework
parent* Minor cleanup (diff)
downloadopensim-SC_OLD-f52886f8f55ba6fd520cc3fffefd9a5607ad2a33.zip
opensim-SC_OLD-f52886f8f55ba6fd520cc3fffefd9a5607ad2a33.tar.gz
opensim-SC_OLD-f52886f8f55ba6fd520cc3fffefd9a5607ad2a33.tar.bz2
opensim-SC_OLD-f52886f8f55ba6fd520cc3fffefd9a5607ad2a33.tar.xz
* Added competely untested MSSQLMapper
* Added the new mapper to the mapper factory * Made choice of mapper configurable * This means, in hteory, that we can persist avatar appearance on MSSQL as well
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Data.MSSQLMapper/MSSQLDatabaseMapper.cs52
-rw-r--r--OpenSim/Framework/Data.MapperFactory/DataMapperFactory.cs13
2 files changed, 59 insertions, 6 deletions
diff --git a/OpenSim/Framework/Data.MSSQLMapper/MSSQLDatabaseMapper.cs b/OpenSim/Framework/Data.MSSQLMapper/MSSQLDatabaseMapper.cs
new file mode 100644
index 0000000..725322d
--- /dev/null
+++ b/OpenSim/Framework/Data.MSSQLMapper/MSSQLDatabaseMapper.cs
@@ -0,0 +1,52 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System.Data.Common;
29using System.Data.SqlClient;
30using OpenSim.Framework.Data;
31
32namespace OpenSim.Framework.Data.MSSQLMapper
33{
34 public class MSSQLDatabaseMapper : OpenSimDatabaseConnector
35 {
36 public MSSQLDatabaseMapper(string connectionString)
37 : base(connectionString)
38 {
39 }
40
41 public override DbConnection GetNewConnection()
42 {
43 SqlConnection connection = new SqlConnection(m_connectionString);
44 return connection;
45 }
46
47 public override string CreateParamName(string fieldName)
48 {
49 return "@" + fieldName;
50 }
51 }
52} \ No newline at end of file
diff --git a/OpenSim/Framework/Data.MapperFactory/DataMapperFactory.cs b/OpenSim/Framework/Data.MapperFactory/DataMapperFactory.cs
index 37b933c..8995b9e 100644
--- a/OpenSim/Framework/Data.MapperFactory/DataMapperFactory.cs
+++ b/OpenSim/Framework/Data.MapperFactory/DataMapperFactory.cs
@@ -1,8 +1,6 @@
1using System; 1using System;
2using System.Collections.Generic;
3using OpenSim.Framework;
4using OpenSim.Framework.Data;
5using OpenSim.Framework.Data.Base; 2using OpenSim.Framework.Data.Base;
3using OpenSim.Framework.Data.MSSQLMapper;
6using OpenSim.Framework.Data.MySQLMapper; 4using OpenSim.Framework.Data.MySQLMapper;
7 5
8namespace OpenSim.Framework.Data.MapperFactory 6namespace OpenSim.Framework.Data.MapperFactory
@@ -10,16 +8,19 @@ namespace OpenSim.Framework.Data.MapperFactory
10 public class DataMapperFactory 8 public class DataMapperFactory
11 { 9 {
12 public enum MAPPER_TYPE { 10 public enum MAPPER_TYPE {
13 MYSQL, 11 MySQL,
12 MSSQL,
14 }; 13 };
15 14
16 static public BaseDatabaseConnector GetDataBaseMapper(MAPPER_TYPE type, string connectionString) 15 static public BaseDatabaseConnector GetDataBaseMapper(MAPPER_TYPE type, string connectionString)
17 { 16 {
18 switch (type) { 17 switch (type) {
19 case MAPPER_TYPE.MYSQL: 18 case MAPPER_TYPE.MySQL:
20 return new MySQLDatabaseMapper(connectionString); 19 return new MySQLDatabaseMapper(connectionString);
20 case MAPPER_TYPE.MSSQL:
21 return new MSSQLDatabaseMapper(connectionString);
21 default: 22 default:
22 return null; 23 throw new ArgumentException("Unknown Database Mapper type [" + type + "].");
23 } 24 }
24 } 25 }
25 } 26 }