Archive for the ‘sql server’ Category

Dostęp do danych bazy accesa (mdb) w 64-bitowym środowisku SQL Server 2008

Wednesday, July 27th, 2011

Potrzebowałem uzyskać dostęp do bazy danych accesa. Niestety okazało się, że Microsoft nie wydał 64 bitowej wersji sterownika “Microsoft.Jet.OLEDB.4.0″ i połączenie za pomocą OLEDB nie wchodzi w grę. Jednym z rozwiązań do importu danych było wykorzystanie Integration Services i wymuszenie użycia trybu 32 bitowego przy uruchamiania pakietu. Rozwiązanie to nie było do końca dobre, bo potrzebowałem dostępu do aktualnych danych. Znalazłem na to rozwiązanie.

1. Na serwerze z 64-bitowym SQL Serverem zainstalowałem 32-bitową wersję SQL Server Express.

2. Utworzyłem linked server pomiędzy bazą danych Accessa i SQL Server Expressem.

EXEC sp_addlinkedserver
@server = N'AccessDB',
@provider = N'Microsoft.Jet.OLEDB.4.0',
@srvproduct = N'OLE DB Provider for Jet',
@datasrc = N'C:\DB\accessdb.mdb'
GO

Wszystko o linked serverach można znaleźć w msdn Microsoftu.

3. Komunikacja pomiędzy 32 bitowym i 64 bitowym zapewniłem dzięki stworzeniu kolejnego linked servera.

EXEC sp_addlinkedserver @server=N'Express32', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc= N'ServerName\SQLEXPRESS'; 

4. W expressie dla wygody stworzyłem widoki do interesujących mnie tabeli, m.in widok vTest. W 64bitowym SQL Server mogę już korzystać z danych z accessa!

SELECT * FROM Express32.Test.dbo.vTest

 

schemat poglądowy

 

Zmina typu kolumny na bazie SQL Server

Friday, February 4th, 2011

Mam kolumnę mnożnik o typie DECIMAL(5,4) w tabli Slowniki.RodzajUbezpieczenia, która okazuje się ma zły typ (ma zbyt mało miejsc po przecinku). Żeby zmienić typ kolumny wystarczy szybkie polecenie:

ALTER TABLE Slowniki.RodzajUbezpieczenia ALTER COLUMN mnoznik DECIMAL(6,5)

Grails – jak skonfigurować połączenie do SQL SERVER 2008

Thursday, March 18th, 2010

Podczas moich pierwszych potyczek z Grailsami zmuszony byłem utworzyć połączenie z bazą danych Microsoftu. O ile w przypadku MySqla nie było większych problemów z utworzeniem prawidłowej konfiguracji pliku DataSource.groovy, to utworzenie DataSource dla SQL Servera wymagało trochę prób i testów oraz poszperania w sieci.

1. Sciągamy najnowszy sterownik JDBC ze strony Microsoftu – Microsoft SQL Server JDBC Driver 2.0
2. Kopiujemy plik sqljdbc4.jar do katalogu /lib w naszym projekcie
3. Uzupełniamy plik DataSource.groovy według poniższego przykładu

dataSource {
pooled = true
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
}


// environment specific settings
environments {
development {
dataSource {
dbCreate = 'create-drop' //one of 'create','create-drop','update','none'
url = "jdbc:sqlserver://twojaNazwaSerwera; database=twojaNazwaBazyDanych; port=1433; instanceName=nazwaInstancjiSerwera"
databaseName = "twojaNazwaBazyDanych"
username = "twojaNazwaUzytkownika"
password = "twojeHaslo"
dialect = org.hibernate.dialect.SQLServerDialect
}
}
}

Connection string (url) składa się z 4 parametrów:

  • nazwy serwera
  • nazwy bazy danych
  • portu (protokół TCP standardowo pracuje na porcie 1433)
  • nazwy instancji serwera

Podanie 4 parametrów jest kluczem umożliwiającym połączenie z bazą SQL Server 2008.

Partycjonowanie tabeli w SQL Server 2005

Thursday, July 23rd, 2009

Krótko na temat jak spartycjonować sobie tabele w Sql Serverze 2005. Tabelkę którą będę partycjonował jest tabela z historią operacji, kolumną która posłuży mi do spartycjonowania tejże tabeli będzie data wykononia operacji. Operacje będą partycjonowane po latach.

(more…)

Procedura generująca wymiar czasu dla kostki OLAP.

Thursday, February 5th, 2009

W odmętach internetu znalazłem procedurę tworzącą tablicę, która posłuży nam do tworzenia hierarchii czasu w naszych kostkach.

(more…)

Co warto mierzyć w Sql Server

Wednesday, February 4th, 2009

Często zdarzają się sytuacje, jak to już z produktami Microsoftu bywa, że baza, za która firma słono zapłaciła nie działa tak szybko, jak można było się tego spodziewać po cenie.  Co można zrobić by to temu zaradzić? Zmienić bazę.

(more…)