element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE User Support (English) How about ODBC support for parts?
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 10 replies
  • Subscribers 180 subscribers
  • Views 761 views
  • Users 0 members are here
Related

How about ODBC support for parts?

craigarno
craigarno over 9 years ago

I miss being able to connect to my MySQL parts database when I use Eagle.

 

OrCAD CIS and Altium Designer have this feature, and I find it a time

saver to be able to access parts and vendors I've already qualified for

prior designs. This does imply a simple relational database to relate

parts database entries to vendor database entries.

 

Windows installations require an ODBC database connection to my server's

MySQL database. Linux uses the native MySQL interface.

 

I use LibreOffice "Database/Base" to maintain the MySQL parts database

when the user interface in CAD tool I'm using is making a change

difficult. It's as easy as using Excel or Access, and a lot more flexible.

 

  • Sign in to reply
  • Cancel
  • rachaelp
    rachaelp over 9 years ago

    Hi Craig,

     

    ODBC support has been requested several times previously by a number of people, myself included. I agree it would be a nice addition.

     

    I have worked around this issue by writing a php interface to my back end database (in this case sqlite but the principle is the same for MySQL) running on nginx (or you could use apache or whatever) and then using ULP's network functions to interact with the database via this web interface. It actually works reasonably well although I still need to iron out a few wrinkles in my implementation and rewrite some of my code to be more elegant.

     

    Best Regards,

     

    Rachael

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • craigarno
    craigarno over 9 years ago in reply to rachaelp

    On 05/22/2016 11:15 AM, rachaelp wrote:

     

    I have worked around this issue by writing a php interface to my back

    end database

     

    Would you be willing to share your PHP and ULP code?

     

    Thanks,

    Craig

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • craigarno
    craigarno over 9 years ago in reply to rachaelp

    On 05/22/2016 11:15 AM, rachaelp wrote:

     

    I have worked around this issue by writing a php interface to my back

    end database

     

    Would you be willing to share your PHP and ULP code?

     

    Thanks,

    Craig

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • craigarno
    craigarno over 9 years ago in reply to rachaelp

    On 05/22/2016 11:15 AM, rachaelp wrote:

     

    I have worked around this issue by writing a php interface to my back

    end database

     

    Would you be willing to share your PHP and ULP code?

     

    Thanks,

    Craig

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • craigarno
    craigarno over 9 years ago in reply to rachaelp

    On 05/22/2016 11:15 AM, rachaelp wrote:

     

    I have worked around this issue by writing a php interface to my back

    end database

     

    Would you be willing to share your PHP and ULP code?

     

    Thanks,

    Craig

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • rachaelp
    rachaelp over 9 years ago in reply to craigarno

    Craig Arno wrote on Tue, 24 May 2016 15:52

    On 05/22/2016 11:15 AM, rachaelp wrote:

     

    I have worked around this issue by writing a php interface to my

    back

    end database

     

    Would you be willing to share your PHP and ULP code?

     

    Thanks,

    Craig

     

     

    Hi Craig,

     

    I will share the essence of the code once it's tidied up and not quite so

    "hacky"! It's very tied to how my database works for me so probably not

    useful to share it in its entirety and also at the moment it's not elegant

    as components are matched based upon building a description string in ULP

    from the attributes of a part and then doing a lookup in the database on

    that description. My end goal is to have it look up on all the parameters

    individually and if there is more than one match it would pop up a window

    with the choices for me to select or if a match could not be found at all

    it would pop up a list of all the database parts in the category for me to

    do a manual search or add a new entry. This is the long term goal but I

    have other work to do in the mean time though!

     

    If I get a chance to pull together some sanitized code snippets based on

    where I am currently I will pop them on here in the interim until I can get

    something better to share.

     

    Best Regards,

     

    Rachael

     

     

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • rachaelp
    rachaelp over 9 years ago in reply to craigarno

    Craig Arno wrote on Tue, 24 May 2016 15:52

    On 05/22/2016 11:15 AM, rachaelp wrote:

     

    I have worked around this issue by writing a php interface to my

    back

    end database

     

    Would you be willing to share your PHP and ULP code?

     

    Thanks,

    Craig

     

     

    Hi Craig,

     

    I will share the essence of the code once it's tidied up and not quite so

    "hacky"! It's very tied to how my database works for me so probably not

    useful to share it in its entirety and also at the moment it's not elegant

    as components are matched based upon building a description string in ULP

    from the attributes of a part and then doing a lookup in the database on

    that description. My end goal is to have it look up on all the parameters

    individually and if there is more than one match it would pop up a window

    with the choices for me to select or if a match could not be found at all

    it would pop up a list of all the database parts in the category for me to

    do a manual search or add a new entry. This is the long term goal but I

    have other work to do in the mean time though!

     

    If I get a chance to pull together some sanitized code snippets based on

    where I am currently I will pop them on here in the interim until I can get

    something better to share.

     

    Best Regards,

     

    Rachael

     

     

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • craigarno
    craigarno over 9 years ago in reply to rachaelp

    On 05/24/2016 08:13 AM, Rachael wrote:

    Craig Arno wrote on Tue, 24 May 2016 15:52

    On 05/22/2016 11:15 AM, rachaelp wrote:

     

    ... This is the long term goal but I

    have other work to do in the mean time though!

     

    If I get a chance to pull together some sanitized code snippets based on

    where I am currently I will pop them on here in the interim until I can get

    something better to share.

     

    Yeah, I get your position all too well. I wondered how much I'd have to

    do to change from SQIlite to network connected MySQL.

     

    I'm still trying to decide Eagle vs Altium Designer (AD) for my next

    effort.  AD has ODBC and revision control using SVN.  ~$1000 vs ~$8000.

    Eagle is pretty attractive, and less buggy with extremely good

    forward/back annotation, and decent auto-router. Then there's KiCAD.

    Eagle is looking like my best trade-off so far. And yes, I also use GIT

    "manually".  It works with XML. i.e. I can pretty quickly and

    unambiguously identify what changed between versions. ODBC is the bigger

    issue.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • rachaelp
    rachaelp over 9 years ago in reply to craigarno

    Craig Arno wrote on Tue, 24 May 2016 17:22

    Yeah, I get your position all too well. I wondered how much I'd have

    to

    do to change from SQIlite to network connected MySQL.

     

     

    It shouldn't be much of a change to swap out sqlite function calls for

    mysql ones, they're both doing pretty much the same thing, it's just the

    back end mysql database is more fully featured and scales a lot more. There

    are limitations with sqlite but on the plus side its very light weight.

    Really I should probably swap it out for mysql myself, I only used it

    because I was messing around with a Pi and that is currently where my

    components database resides..... probably not where I should leave it

    though!

     

    Craig Arno wrote on Tue, 24 May 2016 17:22

    I'm still trying to decide Eagle vs Altium Designer (AD) for my next

    effort.  AD has ODBC and revision control using SVN.  ~$1000 vs

    ~$8000.

    Eagle is pretty attractive, and less buggy with extremely good

    forward/back annotation, and decent auto-router. Then there's KiCAD.

    Eagle is looking like my best trade-off so far. And yes, I also use

    GIT

    "manually".  It works with XML. i.e. I can pretty quickly and

    unambiguously identify what changed between versions. ODBC is the

    bigger

    issue.

     

     

    I guess it depends on what you're trying to do design wise. I mean, EAGLE

    can technically do quite complex boards, but for some things there are

    areas where it could definitely be improved and Altium is pretty much the

    best (expensive) fully commercial toolset these days. But as you say it

    comes with an $8000 price tag which is quite a lot!

     

    The down side of Altium and the biggest reason I won't ever buy it is it's

    Windows only. I like that I can use EAGLE natively on my Mac and it's rock

    solid stable these days. Also EAGLE is so configurable with ULP that losing

    that flexibility would be a difficult thing for me to accept.

     

    I looked at KiCAD briefly a few weeks ago just for interest and yes it may

    have some features that EAGLE really should have already but it's UI is

    awful and it's got big functionality gaps also, I couldn't live with that

    for professional work.

     

    GIT vs SVN for version control.... Well I really don't get on with SVN so

    that's not selling Altium to me either! :d I'm going to try to write some

    ULP to integrate GIT into my setup (again when I have some spare time!) so

    if I get that going I will share that as well as my database access stuff.

     

    Best Regards,

     

    Rachael

     

     

     

     

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • craigarno
    craigarno over 9 years ago in reply to rachaelp

    On 5/24/2016 9:56 AM, Rachael wrote:

    I guess it depends on what you're trying to do design wise. I mean, EAGLE

    can technically do quite complex boards, but for some things there are

    areas where it could definitely be improved and Altium is pretty much the

    best (expensive) fully commercial toolset these days. But as you say it

    comes with an $8000 price tag which is quite a lot!

     

    The down side of Altium and the biggest reason I won't ever buy it is it's

    Windows only. I like that I can use EAGLE natively on my Mac and it's rock

    solid stable these days. Also EAGLE is so configurable with ULP that

    losing

    that flexibility would be a difficult thing for me to accept.

     

    I looked at KiCAD briefly a few weeks ago just for interest and yes it may

    have some features that EAGLE really should have already but it's UI is

    awful and it's got big functionality gaps also, I couldn't live with that

    for professional work.

     

    GIT vs SVN for version control.... Well I really don't get on with SVN so

    that's not selling Altium to me either! :d I'm going to try to write some

    ULP to integrate GIT into my setup (again when I have some spare time!) so

    if I get that going I will share that as well as my database access stuff.

     

    I pretty much agree with all your points. SVN is great, but GIT is

    better in multi-server and off-line usage scenarios.

     

    KiCAD looks great, but isn't there yet, and doesn't have the same level

    of support as Eagle (neither does Altium), important during a schedule

    crunch when you need quick answers to "stupid" questions and are running

    real short on sleep and patience. A number of my potential contracts

    want Altium, so I would like to improve my skills. I think Mentor (never

    used it) is supposed to be even more capable, but at up to $700,000 per

    -all out- seat, way out of my league.

     

    Like you, I prefer a non-windows platform, but run Windows 7 in a

    VirtualBox window when there is no other choice (a lot of embedded

    environments).  This is one of the reasons I like a networked database,

    I can access it using LibreOffice Base from either platform.  Given a

    choice I'll also do my documentation using LibreOffice!  Less buggy than

    MS Office, and with OpenDocument ISO/IEC international standard ISO/IEC

    26300 for long term storage/access and tool portability. And LibreOffice

    has a built in document Version Control system which stays with the

    document file!

     

    Yeah, slightly off topic unless we broaden the discussion scope to

    "infrastructure", and fitting Eagle into an existing infrastructure

    (ahem, ODBC). My 2¢.

     

    Craig

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube