Olá, Sou um novo membro do fórum.
Estou desenvolvendo um trabalho semestral onde preciso criar um banco de dados no SQL Server e conecta-li aí Java, mas porém preciso que o banco seja salvo em um pendrive e que eu possa acessá-lo, diversas vezes, estou com dificuldades na String de conexão, alguém pode ajudar?
Att;
Java e Sql Server
4 Respostas
Para este caso que descreveu geralmente se usa alguma solução embutida como o sqlite. Mas não deixa de ser possível com SQL Server, é só definir o FILENAME na unidade do seu pendrive:
USE [master]
GO
CREATE DATABASE [SeuBanco] ON PRIMARY
( NAME = N'SeuBanco_Data', FILENAME = N'F:\SeuBanco_Data.mdf' , SIZE = 167872KB , MAXSIZE = UNLIMITED, FILEGROWTH = 16384KB )
LOG ON
( NAME = N'SeuBanco_Log', FILENAME = N'F:\SeuBanco_Log.ldf' , SIZE = 2048KB , MAXSIZE = 2048GB , FILEGROWTH = 16384KB )
GO
Documentação: https://msdn.microsoft.com/pt-br/library/ms176061.aspx
O problema é que corre sérios riscos de corromper a base se retirar o pendrive durante alguma transação. E a unidade nem sempre vai ser a mesma.
Outra opção é usar LocalDb: https://msdn.microsoft.com/pt-br/library/hh510202.aspx
Cara muito obrigado ajudou bastante, podem, a String de conexão do Java, deve ficar como localhost? Ou devo colocar, o endereço do pendrive?
Att;
Depende, se usar LocalDb deve ficar o endereço físico:
Server=(localdb)\v11.0;Integrated Security=true; AttachDbFileName=F:\SeuBanco_Data.mdf;
Se for conexão normal, deve ficar como localhost.
Cara muito obrigado, ajudou bastante!