Tôi cũng đã cố gắng tùy chỉnh vị trí của cá thể và đã tìm thấy giải pháp. Như đã đề cập đến trong các bài viết trước, nó xuất hiện mặc định là "% LOCALAPPDATA% \ Microsoft \ Microsoft SQL Server Local DB \ Instances". Sau một số thử nghiệm, có vẻ như tiện ích dòng lệnh SQLLocabDB sử dụng biến môi trường% USERPROFILE% (thay vì% LOCALAPPDATA%) để tìm vị trí này.
Sau đây làm việc cho tôi (sử dụng SQLLocalDB từ một dấu nhắc lệnh):
C:\Users\dan.smith>echo %USERPROFILE%
C:\Users\dan.smith
C:\Users\dan.smith>set USERPROFILE=c:\temp
C:\Users\dan.smith>echo %USERPROFILE%
c:\temp
C:\Users\dan.smith>mkdir c:\temp\AppData\Local
C:\Users\dan.smith>sqllocaldb create test
LocalDB instance "test" created with version 13.0.1100.286.
C:\Users\dan.smith>cd C:\temp\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\test
C:\temp\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\test>dir /w
Volume in drive C has no label.
Volume Serial Number is 4A71-7A6F
Directory of C:\temp\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\test
[.] [..]
error.log error1.log
log.trc master.mdf
mastlog.ldf model.mdf
modellog.ldf msdbdata.mdf
msdblog.ldf system_health_0_131061520581180000.xel
tempdb.mdf templog.ldf
12 File(s) 46,701,550 bytes
2 Dir(s) 117,107,499,008 bytes free
Như đã trình bày, điều này tạo ra dụ LocalDB tôi dưới c: \ temp, mặc dù kế thừa hệ thống phân cấp thư mục gốc từ "AppData" trở đi (có vẻ không thể thay đổi). Lưu ý rằng cũng cần thiết phải tạo phần "AppData \ Local" của phân cấp thư mục theo cách thủ công, nếu không thì sẽ không thành công.
Sự cố tiếp theo thực sự kết nối với cơ sở dữ liệu này từ ứng dụng C#. Để thực hiện việc này, biến môi trường% USERPROFILE% phải được đặt thành cùng một vị trí như trên, ví dụ:
Environment.SetEnvironmentVariable("USERPROFILE", "c:\\temp");
Điều này nên được thực hiện trước khi thiết lập kết nối DB. Có lẽ tốt nhất để làm điều này ở đâu đó trong điểm vào của ứng dụng.
Tất cả trong tất cả điều này chỉ là một chút hack, nhưng ít nhất nó cũng cung cấp một tùy chọn để lưu trữ những thứ khác ngoài "c: \ users ...".
Nguồn
2016-04-26 13:59:43
Tôi tin rằng tôi nên hỏi là có thể tạo trường hợp máy chủ ở vị trí khác nhau – santBart