Hello mọi người,
Cho em hỏi là khi em liên kết csdl với java ở máy em và em muốn gửi file đó sang một máy khác để chạy. Vậy thì làm thế nào để chạy không bị lỗi, tại vì em thấy trong phần liên kết có username và password điều đó có phải là máy nào có username và password như thế mới có thể liên kết được đúng không?
Em cảm ơn.
Liên kết sqlserver với java
File ở đây là gì vậy, file CSDL à ? Mà lỗi ở đây là gì vậy ? Em đã khởi chạy server SQL chưa ? Cái username và password em tự tạo ra mà, muốn kết nối tới server SQL tất nhiên là phải có username và password rồi, không có thì không kết nối được, giống như việc đăng nhập tài khoản vậy.
Ý em là: Em liên kết CSDL với JAVA và build ra file jar, bây giờ em gửi cái file jar đó sang một máy khác thì có đọc được CSDL không? Và có cách để máy đó đọc được không?
Tên và mật khẩu phải do người dùng nhập vào, không gán cứng.
Khi sang máy khác thì đảm bảo máy có:
- Hệ quản trị CSDL tương ứng.
- Các cầu nối (ODBC gi đấy, không nhớ rõ) phải được bật.
Nếu máy triển khai đảm bảo yêu cầu thì lần chạy đầu tiên sẽ hiện bảng yêu cầu nhập các thông tin để truy xuất vào CSDL (tên và mật khẩu).
Bạn cứ lấy việc đăng nhập vào các diễn đàn trên web mà làm theo. Như DNH là một ví dụ.
Cho mình hỏi một câu, có thể nghe hơi ngu ngơ, ngáo chút nhưng đành hỏi vậy. Mình thấy username và mật khẩu để lồ lộ trong phần URL, liệu khi server kết nối tới db thì thằng Java xử lí, lưu thông tin username và mật khẩu vào trong phần request body hay để nguyên khi gửi request tới db ?
Vậy cho em hỏi là: “Em có thấy xuất ra *.exe file từ *.jar file có kèm CSDL” không vậy. Tại vì lần trước khi em xuất ra *.exe file thì không có CSDL.
Hi there,
Cậu đang tự học Java nhưng skip hết toàn bộ các course về database phải không?
Tớ nghĩ cậu đang hiểu cậu có cách để build chương trình của cậu, kèm theo cả hệ quản trị CSDL sql server.
Tớ nghĩ là không thể đâu cậu. CSDL là thực thể độc lập với application viết bằng java của cậu.
Tớ sẽ chỉ cho cậu lý do tại sao cậu sẽ gặp vấn đề khi mang file jar từ máy cậu sang máy khác.
Ở đây cậu có:
"Java application" ----> "SQL server"
localhost localhost
Ở trên máy của cậu, cả 2 đều ở local, địa chỉ là localhost (cậu hard code localhost trong phần địa chỉ của SQL server).
Khi cậu mang code/jar file từ máy cậu sang máy khác, nếu như máy mới kia không được setup gì, hiển nhiên:
"Java application" ----> "SQL server" (không tìm thấy)
localhost localhost
Để cho app ở máy mới chạy được, cậu phải cài đặt SQL server trên máy mới, với databasename, password, username giống y hệt.
Ngoài ra, máy mới không có dữ liệu đâu, cậu phải tự thêm vào.
Không build ra *.exe file được ạ. Em có thể gửi *mdf và *.ldf sang máy khác. Như vậy liệu có OK không ạ?
Hi Sướng,
Tớ suggest cậu 1 vài điều nhé!
- Khi cậu đưa ra vấn đề, cậu nên đưa ra background của vấn đề, điều cậu đã làm, và vấn đề cậu đang gặp phải.
Ví dụ trong TH của cậu, cậu nên đưa ra cậu muốn build ra exe file từ java source code (?), cậu đã làm gì đó để build ra file exe từ java source code (cậu đã làm gì?), nhưng cậu gặp lỗi gì đó (lỗi gì? cậu có thông điệp lỗi hay bằng chứng không?) - Khi cậu muốn hỏi điều gì đó, hãy tìm hiểu trước khi hỏi. Vì đôi khi cậu có thể dùng logic cơ bản để tự trả lời câu hỏi, không cần sự trợ giúp của người khác.
Cậu có thể google trước, cố gắng bỏ công sức ra đọc hiểu trước, rồi sau đó mới hỏi điều thực sự cậu cần hỏi.
Giờ tớ sẽ hỏi cậu: Cậu biết file .mdf và .ldf là file gì không Sướng? Và sau đó, cậu có thể sử dụng logic để biết nó “có OK không”, trong bất cứ context nào cậu đang hỏi tớ.
Tớ hi vọng cậu sẽ tự trả lời được câu hỏi của cậu sau khi đã bỏ công sức
Hi library,
Cảm ơn vì đã trợ giúp em. Em sẽ rút kinh nghiệm trong những câu hỏi sau.
Về phần file mdf và file ldf thì em chỉ biết là: file mdf dùng để attach còn file ldf là file chứa dữ liệu. Tại vì em thấy anh nói là phải tạo lại database mới rồi lại phải thêm bảng, dữ liệu nên Em nghỉ là gửi file mdf vs ldf để attach .Em chỉ biết như vậy. Sau câu hỏi này em sẽ tìm hiểu thêm về vấn đề này.
Còn về phần em đã làm gì để build ra file exe thì em dùng phần mềm launch4j để build. Em build source code java ra file jar sau đó dùng file jar đó để build ra file exe. Nhưng khi buil xong thì file exe không truy cập được CSDL.
Em cảm ơn.
Tớ hiểu rồi
Tớ suggest cậu đọc thêm 2 link dưới đây (cậu có thể dùng google translate để dịch, nếu cậu không quen lắm với tiếng Anh):
Tớ nghĩ khi hiểu nó, cậu sẽ có câu trả lời cho cậu. Sorry, tớ sẽ không đưa ra câu trả lời cho cậu đâu, vì tớ biết và đánh giá cao khả năng của cậu có thể tự tìm câu trả lời.
Nếu cậu có thắc mắc gì, cậu có thể hỏi, nhưng cố gắng tự tìm hiểu trước nhé!
Về fact này:
Cậu thấy đó, cậu build được file exe, nhưng nó không chạy. Điều đó khác hoàn toàn với:
Vậy nên cẩn thận về từ ngữ khi đưa thông tin nhé cậu. Nếu tớ không hỏi lại, mà hiểu cậu không build được file exe, tớ có thể đưa cậu 1 solution hoàn toàn khác với vấn đề của cậu vì sự sai lệch trong việc đưa thông tin của cậu
Về vấn đề của cậu, cậu gặp vấn đề khi dùng file exe đó trên máy cậu, hay file exe đó trên máy khác? Và có bất cứ thông tin gì mà tớ và mọi người nên biết để giúp cậu không? Ví dụ như:
- Làm thế nào cậu biết app chạy từ file exe không truy cập được tới CSDL?
- Lỗi gì báo cho cậu?
- Cậu có log không?
- Cậu có chắc database đã chạy không?
- Cậu có chắc app của cậu dùng đúng setting về username/password/endpoint/database name không?
Cậu thử xem các câu hỏi trên, tự tìm lấy thông tin, rồi tổng hợp lại và trả lời tớ dưới này nhé. Sau đó, cậu có thể đưa ra các giả thiết, và tự chứng minh giả thiết đó cho tới khi cậu tìm được nguyên nhân.
Nếu cậu không thể tìm được nguyên nhân, hay có gì đó block cậu, lúc đó hãng quay lại đây
Tớ tin là cậu sẽ làm được, vì nó không khó đâu.
Ok anh, Em cảm ơn anh.