วิธีการกำหนดค่าแหล่งข้อมูล ODBC ในแบบลอย

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 110507 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

คุณสามารถกำหนดค่าชื่อแหล่งข้อมูล ODBC (เชื่อมต่อฐานข้อมูลเปิด) โดยทางโปรแกรม ทำนี้ให้คุณมีความยืดหยุ่นในการส่งออกข้อมูลโดยไม่ได้บังคับให้ผู้ใช้ได้ให้ใช้ ODBC Administrator หรือโปรแกรมอื่น ๆ เพื่อระบุชื่อของแหล่งข้อมูล ตัวอย่างเช่น ซึ่งอาจ เปิดโปรแกรมที่คุณใช้ API ODBC (อินเตอร์เฟซการเขียนโปรแกรมประยุกต์) ในการส่งออกเป็นแฟ้ม.XLS เมื่อต้องการทำเช่นนี้ ใช้ฟังก์ชัน SQLConfigDataSource()

ตัวอย่างต่อไปนี้ใช้ SQLConfigDataSource: การสร้างแหล่งข้อมูล Excel ใหม่ซึ่งเรียกว่า "Excel แหล่งข้อมูลใหม่"
   SQLConfigDataSource(NULL,ODBC_ADD_DSN,
     (LPSTR) "Excel Files (*.xls)",
     (LPSTR) "DSN=New Excel Data Source\0"
     "Description=New Excel Data Source\0"
     "FileType=Excel\0"
     "DataDirectory=C:\\EXCELDIR\0"
     "MaxScanRows=20\0");
โปรดสังเกตว่า แหล่งข้อมูลที่เป็นจริงไดเรกตอรี (C:\EXCELDIR) โปรแกรมควบคุมของ Excel ที่มีการไดเรกทอรีเป็นแหล่งข้อมูลนั้น และแฟ้มเป็นแต่ละตาราง (ตารางหนึ่งสำหรับแต่ละแฟ้ม.XLS)

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างตาราง โปรดดู article(s) ต่อไปนี้ในฐานความรู้ของ Microsoft:
110508การสร้างตาราง โดยระดับชั้นฐานข้อมูลมูลฐาน
ข้อมูลด้านล่างนี้อธิบายพารามิเตอร์ที่จำเป็นต้องถูกส่งผ่านไปยังฟังก์ชัน SQLConfigDataSource() ODBC API ใช้ฟังก์ชัน SQLConfigDataSource() คุณต้องรวมแฟ้มหัว ODBCINST.H และใช้ไลบรารีการนำเข้า ODBCINST.LIB

หมายเหตุ: สำหรับโปรแกรมประยุกต์แบบ 32 บิต คุณต้องยังคงมีแฟ้มหัว ODBCINST.H อย่างไรก็ ตามที่คุณต้องเชื่อมโยงกับ ODBCCP32.lib เดี๋ยวนี้

หมายเหตุ: ข้อมูลที่อยู่ภายในบทความนี้ถูกทำซ้ำในการเขียนใน 'โปรแกรมกับสารานุกรม MFC' จัดส่ง โดยใช้ Visual 4.0 ของ c ++ บทความสามารถพบได้ โดยการค้นหา "SQLConfigDataSource" เลือกบทความที่ชื่อ ' FAQ: Programatically การกำหนดค่าแหล่งข้อมูลของ ODBC ' ได้

ข้อมูลเพิ่มเติม

หมายเหตุ: บทความนี้ถูกเริ่มต้นเขียนสำหรับไปป์ ODBC 16 บิตเท่านั้น คอมโพเนนต์ ODBC 16 บิตใช้แฟ้ม INI เพื่อเก็บข้อมูลบน datasources ที่จัดโครงแบบ (ODBC.INI) และติดตั้งโปรแกรมควบคุม (ODBCINST.INI) The 32-bit ODBC components no longer use INI files but, instead, write such information to the registry. System datasource information and installed driver information is stored in HKEY_LOCAL_MACHINE\SOFTWARE\ ODBC\ in ODBC.INI and ODBCINST.INI, respectively. Non-System datasources are stored in HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI. In the remainder of this article, references to ODBC.INI should be interpreted as referring to the appropriate section of the registry if you are using the 32-bit ODBC components.

An ODBC data source name can be created using the ODBC Administrator program or similar utility. However, sometimes it is desirable to create a data source name directly from your application so that access can be obtained without requiring the user to run a separate utility.

The ODBC Administrator (typically installed in the Windows Control Panel) creates a new data source by putting entries in the ODBC.INI file. This file is queried by the ODBC Driver Manager to obtain the required information about the data source. It's important to know what information needs to be placed in the ODBC.INI because you'll need to supply it with the call to SQLConfigDataSource().

Although this information could be written directly to the ODBC.INI file [without using SQLConfigDataSource()], any application that does this is relying on the current technique that the Driver Manager uses to maintain its data. If a later revision to the ODBC Driver Manager implements record keeping about data sources in a different way, then any application that used this technique would be broken. It is generally advisable to use an API function when one is provided.

Below, you will find an explanation of the parameters of the SQLConfigDataSource() function. Much of the information is taken from the ODBC API Programmer's Reference supplied with Visual C++ version 1.5. Function prototype:
   BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest,
                            LPCSTR lpszDriver,
                            LPCSTR lpszAttributes);
hwndParent- This is the window that will be used as the owner of any dialog boxes which are created by either the Driver Manager or the specific ODBC Driver to obtain additional information from the user about the new data source. If there is not enough information provided in the lpszAttributes parameter, a dialog box will appear. This parameter may be NULL, see the reference for specifics.

fRequest- The operation to be performed. Possible values are:
                      ODBC_ADD_DSN: Add new user data
                        source.
                      ODBC_CONFIG_DSN: Modify an
                        existing data source.
                      ODBC_REMOVE_DSN: Remove an
                        existing data source.
The following values are available in ODBC 2.53.0 or later 32-bit only:
                      ODBC_ADD_SYS_DSN: Add a new
                        system data source.
                      ODBC_CONFIG_SYS_DSN: Modify
                        an existing system data
                        source.
                      ODBC_REMOVE_SYS_DSN: Remove
                        an existing system data
                        source.
lpszDriver- Driver description. As the documentation mentions, this is the name presented to the users rather than the physical driver (the DLL). You can determine the description of a driver using the ODBC Administrator program as follows:

  1. Run the ODBC Administrator program.
  2. Choose Add. This will give you a list of installed drivers.
The list contains driver descriptions. It is this description that you will use as the lpszDriver parameter. Note that the ENTIRE description is used [for example, "Excel Files (*.xls)"] including the file extension and parentheses if they exist in the description.

Optionally, you can examine the file ODBCINST.INI, which contains a list of all driver entries and descriptions in the section [ODBC Drivers].

lpszAttributes- List of attributes in the form "keyname=value". These strings are separated by null terminators with two consecutive null terminators at the end of the list. These attributes will primarily be default driver-specific entries, which go into the ODBC.INI file for the new data source. One important key, which is not mentioned in the ODBC API reference for this function, is "DSN" which specifies the name of the new data source. The rest of the entries are specific to the driver for the new data source. Often times it is not necessary to supply ALL of the entries because the driver can prompt the user (if hwndParent is not NULL) with dialog boxes for the new values. You might want to explicitly supply default values so that the user is not prompted.

One way to find the keynames and their values is to examine the registry entries for an already configured data source (perhaps one that has been configured by the ODBC Administrator program):

สิ่งสำคัญนี้ส่วน วิธี หรืองานประกอบด้วยขั้นตอนที่บอกวิธีการแก้ไขรีจิสทรี อย่างไรก็ตาม ปัญหาร้ายแรงอาจเกิดขึ้นหากคุณปรับเปลี่ยนรีจิสทรีไม่ถูกต้อง ดังนั้น โปรดตรวจสอบให้แน่ใจว่าคุณได้ทำตามขั้นตอนเหล่านี้อย่างระมัดระวัง สำหรับการป้องกันเพิ่มเติม ให้สำรองรีจิสทรีก่อนทำการปรับเปลี่ยน เพื่อที่คุณจะสามารถคืนค่ารีจิสทรีได้หากมีปัญหาเกิดขึ้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสำรองข้อมูลและคืนค่ารีจิสทรี โปรดคลิกที่หมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
322756วิธีการสำรองข้อมูลและคืนค่ารีจิสทรีใน Windows

  1. Using regedit go toHKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\
  2. Find the hive that corresponds to your data source name. There you will find the keyword pairs. Warning, manually editing registry values can cause system instability and perhaps an unrecoverable failure.
You might also want to examine the documentation for the specific driver you are going to use. Useful information may be found in the online help for the driver, which can be accessed by running the ODBC Administrator: click Add, select the driver name, and click OK. When the information for creating a new data source comes up for that particular driver, select Help. This will open the help file for that particular driver, which generally contains important information concerning the use of the driver.

ข้อมูลอ้างอิง

ODBC Programmer's Reference and SDK Guide (available in Books Online).

คุณสมบัติ

หมายเลขบทความ (Article ID): 110507 - รีวิวครั้งสุดท้าย: 6 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
Keywords: 
kbdatabase kbhowto kbmt KB110507 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:110507

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com