Truy cập có hoạt động với mysql không?

mySQL là một DBMS được phát triển cho Linux-/Unix-Systems, hiện cũng có sẵn cho các môi trường Win32. Kể từ tháng 6 năm 2001, mySQL là phần mềm Nguồn mở và được cấp phép theo GPL (Giấy phép Công cộng GNU

Trong cấu hình LAMP (Linux - Apache - MySQL - PHP), mySQL là một phần của hệ thống được sử dụng thường xuyên nhất cho các trang web điều khiển cơ sở dữ liệu

Tính năng chính của MySQL là công cụ cơ sở dữ liệu tinh gọn có chủ ý có khả năng vượt trội hơn hầu hết các DBMS khác. Lean cũng ngụ ý rằng có một số tính năng bị thiếu, tính năng này sẽ được chấp nhận trong nhiều DBMS khác. Ví dụ: trình kích hoạt, con trỏ, khóa ngoại và các lựa chọn phụ vẫn bị thiếu trong các bản phát hành sản xuất hiện tại, các giao dịch chỉ được hỗ trợ với các bản phát hành gần đây nhất

Nó được kết nối với Microsoft Access như thế nào?

MySQL có thể được sử dụng như một phụ trợ rất hiệu quả về chi phí và hiệu suất cho các Ứng dụng truy cập. Tất nhiên, MySQL không thể sánh ngang với Microsoft SQL Server về mức độ dễ quản trị và phạm vi tính năng, nhưng nó có thể làm được điều đó rất tốt về chi phí sở hữu

Nếu bạn đang sử dụng MySQL làm chương trình phụ trợ cho trang web của mình và có thể truy cập trực tiếp vào máy chủ đó qua mạng LAN, thì Access sẽ tạo ra một công cụ tối ưu để quản lý và phân tích dữ liệu do Máy chủ MySQL của bạn thu thập hoặc cung cấp cho web

Tôi nghĩ đây là hai lý do thuyết phục để xem xét kỹ hơn về việc Microsoft Access và MySQL hoạt động cùng nhau. Các bài viết trên trang này mô tả các sự cố (và giải pháp của chúng) mà tôi gặp phải khi làm việc với Microsoft Access dưới dạng giao diện người dùng cho Cơ sở dữ liệu MySQL



Liên kết các bảng qua myODBC

MyODBC là trình điều khiển để truy cập mySQL qua ODBC. MyODBC, giống như mySQL, có sẵn để tải xuống trên MySQL-Website. Các tệp nhị phân đã biên dịch có sẵn cũng như mã nguồn của MyODBC

Sau khi bạn cài đặt thành công MyODBC, bạn có thể chọn Trình điều khiển MySQL trong Quản trị viên nguồn dữ liệu ODBC trong Bảng điều khiển để tạo và định cấu hình Nguồn dữ liệu ODBC mới trỏ đến cơ sở dữ liệu trên Máy chủ MySQL. Sử dụng nguồn dữ liệu như vậy, bạn có thể liên kết các bảng từ Cơ sở dữ liệu MySQL với Ứng dụng Microsoft Access của mình

Thật không may, có một số chuỗi được đính kèm với MyODBC có thể gây ra một số rắc rối trừ khi bạn đã nghiên cứu kỹ tất cả các tệp tài liệu và tệp readme liên quan đến việc sử dụng MyODBC với Access. Tôi đã tổng hợp các tùy chọn thú vị nhất của MyODBC mà bạn nên biết trong danh sách sau

  • Nếu bạn liên kết Bảng MySQL với Access, tất cả các tùy chọn bạn đã định cấu hình cho MyODBC sẽ được ghi vào Thuộc tính kết nối của bảng được liên kết trong Access. Nếu bạn thay đổi bất kỳ tùy chọn nào sau khi liên kết bảng với Access ban đầu thì những thay đổi này sẽ không ảnh hưởng đến các bảng đã được liên kết tại thời điểm đó. Bạn sẽ phải liên kết lại tất cả các bảng với Access để các thay đổi của bạn có hiệu lực
  • Bạn phải luôn sử dụng tùy chọn Trả về các hàng phù hợp khi tạo Nguồn dữ liệu trỏ đến Máy chủ MySQL để sử dụng nó với Microsoft Access
  • Kiểu dữ liệu BIGINT là một vấn đề chung liên quan đến Microsoft Access. Access không hỗ trợ đầy đủ các giá trị của BIGINT (64bit, có nghĩa là các giá trị lên tới 18446744073709551615). Vì lý do này, bạn nên tránh sử dụng kiểu dữ liệu BIGINT trong cơ sở dữ liệu sẽ được sử dụng với Microsoft Access bất cứ khi nào có thể

    Tùy chọn Thay đổi Cột BIGINT thành INT chỉ có thể khắc phục sự cố với BIGINT đối với phần mở rộng hạn chế. Nếu bạn sử dụng tùy chọn này, Access có thể xử lý các Cột BIGINT miễn là các giá trị trong các cột này không vượt quá giá trị tối đa của kiểu dữ liệu Access 'Số nguyên dài' (32 bit). Các giá trị lớn hơn 32 bit sẽ được hiển thị không chính xác trong Access và không thể được ghi chính xác bằng Access vào MySQL

    Bạn không thể sử dụng Cột BIGINT làm Khóa chính trong bảng của mình trong bất kỳ trường hợp nào. Ngay cả với tùy chọn Thay đổi Cột BIGINT thành INT, Quyền truy cập sẽ không thể xử lý các Khóa chính BIGINT

  • Trình điều khiển MyODBC có một tính năng tích hợp để theo dõi tất cả các Câu lệnh SQL được chuyển đến Máy chủ MySQL thông qua ODBC. Bạn có thể kích hoạt tính năng này bằng cách sử dụng Trace ODBC-Option trong MyODBC. Thông tin được ghi bởi Tùy chọn theo dõi ODBC không rộng bằng thông tin được ghi bởi công cụ theo dõi tiêu chuẩn của Quản trị viên nguồn dữ liệu ODBC của Microsoft nhưng việc theo dõi nhanh hơn đáng kể. Thông tin thu thập được thường khá đầy đủ cho nhu cầu của Access-Developer
  • Để sử dụng MyODBC với Access 2. 0 bạn phải kích hoạt tùy chọn Mô phỏng ODBC 1. 0. Nếu bạn vẫn gặp sự cố với Access 2. 0, bạn nên cân nhắc sử dụng phiên bản MyODBC 16 bit cũ

Thông thường, bạn sẽ tìm thấy một tệp readme mô tả tất cả các tùy chọn của MyODBC trong Kho lưu trữ ZIP chứa MyODBC. Bạn sẽ tìm thấy một số thông tin bổ sung về MyODBC-Options trong MySQL-Manual tại MySQL-Website



Bạn có lỗi trong cú pháp SQL của mình

Thỉnh thoảng, tôi thấy các mô tả về sự cố với việc liên kết các bảng bằng cách sử dụng một số phiên bản nhất định của MyODBC-Driver trong một số nhóm tin. Nếu bạn cố liên kết Bảng MySQL với Ứng dụng truy cập, bạn sẽ gặp lỗi này. 'Cuộc gọi ODBC không thành công -(TCX)(myODBC)Bạn gặp lỗi trong cú pháp SQL gần 'tên cơ sở dữ liệu'. TỪ 'tên bảng' ở dòng 1(#1064)"

Đây dường như là một lỗi trong một số phiên bản của MyODCB-Driver (e. g. Phiên bản 2. 50. 33 bị ảnh hưởng bởi vấn đề này). Thông thường, bạn có thể khắc phục tất cả sự cố này mà không có bất kỳ thay đổi nào đối với ứng dụng của mình bằng cách nâng cấp lên phiên bản mới hơn (hoặc hạ cấp xuống phiên bản cũ hơn) của MyODBC-Driver



Bạn không thể thêm bản ghi mới

Bạn đã liên kết các Bảng MySQL của mình với cơ sở dữ liệu Access bằng MyODBC. Dữ liệu từ Bảng MySQL được hiển thị chính xác nhưng bạn không thể thêm bất kỳ bản ghi mới nào vào một số bảng của mình hoặc nếu có, tất cả các trường của bản ghi mới sẽ hiển thị "#Deleted" sau khi bạn lưu bản ghi

Lý do cho điều này thường nằm ở khóa chính của bảng đó hoặc ở cột bạn chọn là cột duy nhất khi liên kết bảng đó với Access

Microsoft Access sử dụng con trỏ bộ khóa ODBC để truy cập bất kỳ bảng ODBC được liên kết nào. Loại con trỏ đó yêu cầu một cột duy nhất để xác định một bản ghi trong bảng được liên kết. Nếu bảng được liên kết không có khóa chính và bạn không chọn một cột duy nhất khi liên kết bảng với Access, thì bảng được liên kết ở chế độ chỉ đọc trong Access và bạn không thể thêm bất kỳ bản ghi nào. Nếu khóa chính/cột duy nhất thuộc loại dữ liệu CHAR, BIGINT hoặc loại dấu phẩy động (FLOAT, REAL và DOUBLE), rất có thể bạn sẽ gặp phải sự cố với "#Deleted" trong các bản ghi mới vì dữ liệu trong các loại cột đó là . Giải pháp cho vấn đề này là đảm bảo mọi bảng được liên kết đều có khóa chính và khóa chính thuộc loại dữ liệu mà Microsoft Access có thể sử dụng mà không gặp bất kỳ sự cố chuyển đổi nào (INT (int32) hoặc VARCHAR)

Sự cố này cũng được mô tả trong bài viết Q128809 trong Cơ sở tri thức Microsoft



Tên người dùng và/hoặc mật khẩu không được lưu trữ

Tôi không thể tự mình gặp sự cố này nhưng nó đã được báo cáo trong Nhóm tin truy cập của Đức

Access đôi khi 'quên' lưu trữ tên người dùng và/hoặc mật khẩu để truy cập Cơ sở dữ liệu mySQL. Bạn sẽ có thể giải quyết vấn đề này bằng cách liên kết lại các bảng mySQL với một thủ tục VBA khi khởi động Ứng dụng truy cập của bạn

Một mẫu cho một thủ tục như vậy là phụ sau đây

Sub reconnectMySQL()
  Dim db As DAO.Database

  Set db = CurrentDb()

  db.TableDefs("yourTable").Connect = _
     "ODBC;DSN=yourDSN;SERVER=yourServer;" & _
     "PORT=3306;OPTION=12345;" & _
     "DATABASE=yourDB;USER=yourUserName;" & _
     "PASSWORD=yourPassword"
  db.TableDefs("yourTable").RefreshLink
  Set db = Nothing
End Sub

Giá trị TÙY CHỌN xác định MyODBC-Tùy chọn. Các tùy chọn bạn nhập vào chuỗi kết nối là các tùy chọn được sử dụng khi truy cập bảng, ngay cả khi bạn thiết lập các tùy chọn khác nhau trong quá trình định cấu hình DSN của mình

Để tìm hiểu Giá trị TÙY CHỌN chính xác cho ứng dụng của bạn là gì, hãy xem Tệp Readme từ Tệp MyODBC-ZIP

Access có tương thích với MySQL không?

Bạn có thể sử dụng cơ sở dữ liệu MySQL với Microsoft Access bằng Trình kết nối/ODBC . Cơ sở dữ liệu MySQL có thể được sử dụng làm nguồn nhập, nguồn xuất hoặc dưới dạng bảng được liên kết để sử dụng trực tiếp trong ứng dụng Access, do đó, bạn có thể sử dụng Access làm giao diện ngoại vi cho cơ sở dữ liệu MySQL.

Tôi có thể nhập cơ sở dữ liệu Access vào MySQL không?

Nhấp chuột phải vào bảng bạn muốn xuất và trong menu xuất hiện, chọn Xuất , Cơ sở dữ liệu ODBC . Hộp thoại Xuất xuất hiện. Nhập tên mong muốn cho bảng sau khi nhập vào máy chủ MySQL và nhấp vào OK.

MS Access có giống với MySQL không?

MySQL hỗ trợ sao chép đa nguồn hoặc bản sao nguồn, trong khi Access không hỗ trợ sao chép . Đối với khái niệm người dùng, MySQL sử dụng khái niệm ủy quyền chi tiết cho người dùng. Tuy nhiên, Access không kết hợp các khái niệm người dùng, mặc dù đã có bảo mật cấp độ người dùng đơn giản được tích hợp sẵn cho đến Access 2003.