Posts Tagged ‘sql server 2008’

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

 

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.