Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 413079c

Browse files
authored
Adding database setup instructions on different platforms (#25952)
1 parent 4c588b8 commit 413079c

File tree

2 files changed

+96
-0
lines changed

2 files changed

+96
-0
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Instructions on how to setup database
2+
3+
## In Fedora 24 container:
4+
- `docker ps` shows _id of existing Fedora 24 container
5+
- `docker exec -it _id /bin/sh`
6+
- `dnf install findutils` need to install findutils for building corefx to add missing xargs
7+
- `find / -name libsqlite3odbc.so` to be used in odbcinst.ini
8+
- `odbcinst -j` to show version and location of ini files
9+
- `ldconfig -p | grep sqlite`
10+
- `ldconfig -p | grep odbc`
11+
- `dnf list | grep unixODBC`
12+
- `dnf install unixODBC.x86_64`
13+
- `dnf install unixODBC-devel.x86_64`
14+
- `dnf install sqliteodbc.x86_64`
15+
16+
## Notes on commands used in Debian 8.2
17+
- followed [dockerfile](https://devdiv.visualstudio.com/DevDiv/_git/DotNetCore?path=%2Fdockerfiles%2Fdebian%2F8.2%2FDockerfile&version=GBmaster) instructions for debian 8.2
18+
- dependencies: libkrb5-dev, cmake
19+
20+
Get the tag name from https://hub.docker.com/r/microsoft/dotnet-buildtools-prereqs/tags/ and use in docker run below
21+
- `docker run -it microsoft/dotnet-buildtools-prereqs:debian-8.2-SHA-YMD.. /bin/sh`
22+
- `docker images` shows _id for Debian 8.2 to use in command below
23+
- `docker exec -it _id /bin/sh`
24+
25+
## Notes on commands used in Linux 14.04
26+
- not supported. Minimum required unixODBC version should be 2.3.1 but is lower
27+
28+
## Notes on commands used in Linux 16.04
29+
- `sudo nano /etc/odbcinst.ini`
30+
- `sudo nano /usr/local/etc/odbcinst.ini`
31+
- `ls /usr/lib/x86_64-linux-gnu/odbc/`
32+
- `ls -a /usr/local/lib`
33+
- `sudo nano /usr/local/etc/odbc.ini`
34+
- `PATH=$PATH:/usr/lib/x86_64-linux-gnu-odbc/`
35+
- `cd ~/dl/unixODBC*/`
36+
- `./configure`
37+
- `make`
38+
- `sudo make install`
39+
- `sudo nano /usr/local/etc/odbc.ini` notes on onenote
40+
- `sudo nano /usr/local/etc/odbcinst.ini' notes on onenote
41+
- `ls -a /usr/local/lib`
42+
- `cd ../sqliteodbc-*/`
43+
- `./configure`
44+
- `sudo apt-get update`
45+
- `sudo apt-get install sqlite3`
46+
- `./configure`
47+
- `bundle install` bundle install may not be necessary
48+
- `sudo apt-get install sqlite3`
49+
- `sudo apt-get install libsqlite3-dev` unixodbc-dev, unixodbc-bin, and unixodbc may not be required
50+
- `make`
51+
- `make install`
52+
- `sudo make install`
53+
- `ls -a /usr/local/lib`
54+
55+
## Notes on commands used in Mac
56+
- `gunzip unixODBC-2.3.4.tar.gz` download unixodbc
57+
- `tar xvf unixODBC-2.3.4.tar`
58+
- `cd unix...`
59+
- `./configure`
60+
- `make`
61+
- `make install`
62+
- `/usr/local/bin/odbcinst` try out odbcinst using the command below
63+
- `sudo nano /etc/odbcinst.ini`
64+
65+
```
66+
[SQLite3]
67+
Description=SQLite ODBC Driver
68+
Driver=/usr/local/lib/libsqlite3odbc.so
69+
Setup=/usr/local/lib/libsqlite3odbc.so
70+
Threading=4
71+
```
72+
73+
- `sudo nano find / -name odbcinst.ini`
74+
- `sudo nano /usr/local/etc/odbcinst.ini`
75+
76+
```
77+
[ODBC Drivers]
78+
SQLite3 ODBC Driver=Installed
79+
SQLite=Installed
80+
[SQLite3 ODBC Driver]
81+
Driver=/usr/local/lib/libsqlite3odbc.dylib
82+
Setup=/usr/local/lib/libsqlite3odbc.dylib
83+
[SQLite3]
84+
Driver=/usr/local/lib/libsqlite3odbc.dylib
85+
Setup=/usr/local/lib/libsqlite3odbc.dylib
86+
```
87+
88+
- `ls -a /usr/local/lib/.`
89+
- `sudo nano /usr/local/etc/odbc/odbc.ini`
90+
91+
## Notes on commands used in Windows7-10, 64 bit machine
92+
- odbc32.dll already available, just needs to install sqlite64.exe
93+

src/System.Data.Odbc/src/System.Data.Odbc.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,9 @@
168168
<Reference Include="System.Xml.ReaderWriter" />
169169
<Reference Include="System.Runtime.InteropServices.RuntimeInformation" />
170170
</ItemGroup>
171+
<ItemGroup>
172+
<None Include="DatabaseSetupInstructions.md" />
173+
</ItemGroup>
171174
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
172175
</Project>
173176

0 commit comments

Comments
 (0)