In case anyone is interested, I am running Fedora 3.0 on a MS SQL Server 
database. I didn't implement DDLConverter, I just created the database 
tables myself, but I figure I could still send out the sql script in case 
anyone is interested in doing the same. Here's the process (I get 
frustrated when people assume I know more than I do and leave out steps 
because they figure that they're obvious, so I'm going to be sort of 
meticulous so somebody else doesn't have the same problem):

1. download JTDS from http://jtds.sourceforge.net/ (there's a download 
link at the top of the screen)
2. place the jar file in $CATALINA_HOME/common/lib (assuming you're using 
tomcat)
3. Run the following script in MS SQL Server. You may wish to change the 
database name.  (sorry for including this in the file, I wasn't sure if 
the mailing list allows attachments. I'll make it all bold so its easy to 
skip to the next step):

IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = 
N'Fedora')
        DROP DATABASE [Fedora]
GO
CREATE DATABASE [Fedora]  ON (NAME = N'Fedora_Data', FILENAME = 
N'C:\Program Files\Microsoft SQL Server\MSSQL\data\Fedora_Data.MDF' , SIZE 
= 6, FILEGROWTH = 10%) LOG ON (NAME = N'Fedora_Log', FILENAME = 
N'C:\Program Files\Microsoft SQL Server\MSSQL\data\Fedora_Log.LDF' , SIZE 
= 1, FILEGROWTH = 10%)
 COLLATE SQL_Latin1_General_CP1_CI_AS
GO
exec sp_dboption N'Fedora', N'autoclose', N'true'
GO
exec sp_dboption N'Fedora', N'bulkcopy', N'false'
GO
exec sp_dboption N'Fedora', N'trunc. log', N'true'
GO
exec sp_dboption N'Fedora', N'torn page detection', N'true'
GO
exec sp_dboption N'Fedora', N'read only', N'false'
GO
exec sp_dboption N'Fedora', N'dbo use', N'false'
GO
exec sp_dboption N'Fedora', N'single', N'false'
GO
exec sp_dboption N'Fedora', N'autoshrink', N'true'
GO
exec sp_dboption N'Fedora', N'ANSI null default', N'false'
GO
exec sp_dboption N'Fedora', N'recursive triggers', N'false'
GO
exec sp_dboption N'Fedora', N'ANSI nulls', N'false'
GO
exec sp_dboption N'Fedora', N'concat null yields null', N'false'
GO
exec sp_dboption N'Fedora', N'cursor close on commit', N'false'
GO
exec sp_dboption N'Fedora', N'default to local cursor', N'false'
GO
exec sp_dboption N'Fedora', N'quoted identifier', N'false'
GO
exec sp_dboption N'Fedora', N'ANSI warnings', N'false'
GO
exec sp_dboption N'Fedora', N'auto create statistics', N'true'
GO
exec sp_dboption N'Fedora', N'auto update statistics', N'true'
GO
if( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 
0xffff >= 724) )
        exec sp_dboption N'Fedora', N'db chaining', N'false'
GO
use [Fedora]
GO
if exists (select * from dbo.sysobjects where id = 
object_id(N'[dbo].[datastreamPaths]') and OBJECTPROPERTY(id, 
N'IsUserTable') = 1)
drop table [dbo].[datastreamPaths]
GO
if exists (select * from dbo.sysobjects where id = 
object_id(N'[dbo].[dcDates]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[dcDates]
GO
if exists (select * from dbo.sysobjects where id = 
object_id(N'[dbo].[doFields]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[doFields]
GO
if exists (select * from dbo.sysobjects where id = 
object_id(N'[dbo].[doRegistry]') and OBJECTPROPERTY(id, N'IsUserTable') = 
1)
drop table [dbo].[doRegistry]
GO
if exists (select * from dbo.sysobjects where id = 
object_id(N'[dbo].[modelDeploymentMap]') and OBJECTPROPERTY(id, 
N'IsUserTable') = 1)
drop table [dbo].[modelDeploymentMap]
GO
if exists (select * from dbo.sysobjects where id = 
object_id(N'[dbo].[objectPaths]') and OBJECTPROPERTY(id, N'IsUserTable') = 
1)
drop table [dbo].[objectPaths]
GO
if exists (select * from dbo.sysobjects where id = 
object_id(N'[dbo].[pidGen]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[pidGen]
GO
CREATE TABLE [dbo].[datastreamPaths] (
        [tokenDbID] [int] IDENTITY (1, 1) NOT NULL ,
        [token] [varchar] (199) COLLATE SQL_Latin1_General_CP1_CI_AS NOT 
NULL ,
        [path] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT 
NULL 
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[dcDates] (
        [pid] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL 
,
        [dcDate] [bigint] NOT NULL 
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[doFields] (
        [pid] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL 
,
        [label] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL 
,
        [state] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT 
NULL ,
        [ownerId] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL 
,
        [cDate] [bigint] NOT NULL ,
        [mDate] [bigint] NOT NULL ,
        [dcmDate] [bigint] NULL ,
        [dcTitle] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcCreator] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcSubject] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcDescription] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcPublisher] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcContributor] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcDate] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcType] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcFormat] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcIdentifier] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcSource] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcLanguage] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcRelation] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcCoverage] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
        [dcRights] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[doRegistry] (
        [doPID] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT 
NULL ,
        [systemVersion] [smallint] NOT NULL ,
        [ownerId] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL 
,
        [objectState] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS 
NOT NULL ,
        [label] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL 
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[modelDeploymentMap] (
        [cModel] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT 
NULL ,
        [sDef] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT 
NULL ,
        [sDep] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT 
NULL 
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[objectPaths] (
        [tokenDbID] [int] IDENTITY (1, 1) NOT NULL ,
        [token] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT 
NULL ,
        [path] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT 
NULL 
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[pidGen] (
        [namespace] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS 
NOT NULL ,
        [highestID] [int] NOT NULL 
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[datastreamPaths] WITH NOCHECK ADD 
        CONSTRAINT [PK_datastreamPaths] PRIMARY KEY  CLUSTERED 
        (
                [tokenDbID]
        )  ON [PRIMARY] 
GO
ALTER TABLE [dbo].[objectPaths] WITH NOCHECK ADD 
        CONSTRAINT [PK_objectPaths] PRIMARY KEY  CLUSTERED 
        (
                [tokenDbID]
        )  ON [PRIMARY] 
GO
 CREATE  INDEX [IX_dcDates] ON [dbo].[dcDates]([pid]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[doFields] ADD 
        CONSTRAINT [DF_doFields_state] DEFAULT ('A') FOR [state]
GO
CREATE  INDEX [IX_doFields] ON [dbo].[doFields]([pid]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[doRegistry] ADD 
        CONSTRAINT [DF_doRegistry_systemVersion] DEFAULT (0) FOR 
[systemVersion],
        CONSTRAINT [DF_doRegistry_objectState] DEFAULT ('A') FOR 
[objectState]
GO

4. Create a login for the database (i.e. login=fedoraAdmin 
password=fedoraAdmin).
5. Alter fedora.fcfg as follows:
create a new datastore that looks similar to this:

  <datastore id="localMsSQLServerPool">
    <comment>...</comment>
        <param name="dbUsername" value="fedoraAdmin">
      <comment>...</comment>
    </param>
    <param name="dbPassword" value="fedoraAdmin">
      <comment>...</comment>
    </param>
    <param name="jdbcURL" value="jdbc:jtds:sqlserver://localhost/Fedora">
      <comment>...</comment>
    </param>
    <param name="jdbcDriverClass" 
value="net.sourceforge.jtds.jdbc.Driver">
      <comment>...</comment>
    </param>
    <param name="maxActive" value="100">
      <comment>...</comment>
    </param>
    <param name="maxIdle" value="10">
      <comment>...</comment>
    </param>
    <param name="maxWait" value="-1">
      <comment>...</comment>
    </param>
    <param name="minIdle" value="0">
      <comment>...</comment>
    </param>
    <param name="minEvictableIdleTimeMillis" value="1800000">
      <comment>...</comment>
    </param>
    <param name="numTestsPerEvictionRun" value="3">
      <comment>...</comment>
    </param>
    <param name="timeBetweenEvictionRunsMillis" value="-1">
      <comment>...</comment>
    </param>
    <param name="testOnBorrow" value="true">
      <comment>...</comment>
    </param>
    <param name="testOnReturn" value="true">
      <comment>...</comment>
    </param>
    <param name="testWhileIdle" value="true">
      <comment>...</comment>
    </param>
    <param name="whenExhaustedAction" value="1">
      <comment>...</comment>
    </param>
  </datastore>

In module fedora.server.search.FieldSearch, set param connectionPool to 
"localMsSQLServerPool" (assuming that's what you called the above 
datastore)
In module fedora.server.storage.DOManager, set param storagePool to 
"localMsSQLServerPool"
In module fedora.server.storage.ConnectionPoolManager, set defaultPoolName 
to "localMsSQLServerPool". I also set poolNames to "localMsSQLServerPool", 
because I wasn't interested in any other pool.

That's it. you're done. I hope this was helpful to somebody. 

David Handy
Idaho National Laboratory
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to