Thread DBI verbindung zu MSSQL über Linux (4 answers)
Opened by Cyver at 2012-07-20 11:19

Gast Cyver
 2012-08-01 11:42
#160388 #160388
Sorry für die späte rückmeldung.

Erstmal danke für den Tipp (FreeTDS). Ich haben nun alles auf dem Server installiert. Leider habe ich nun ein anderes Problem. Per Console kann ich nun eine Verbindung zur Datenbank aufrufen
Code: (dl )
1
2
3
4
5
6
7
8
9
 isql -v -s MSSQLServer <user> <pw>
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+

allerdings funktioniert es nicht über das Script.

Es steht immer
Code: (dl )
1
2
DBI connect('MSSQLServer;Server=<ip>;Database=<dbname>;UID=<user>;PWD=<pw>','',...) failed: [unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL-IM002) at check_akcp_sensorprobe.pl line 358
[unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL-IM002)

kann mir da jemand weiter helfen?

hier nochmal die Veränderungen die ich gemacht habe in den einzelnen "Configs"
/etc/odbc.ini
Code: (dl )
1
2
3
4
5
6
7
[MSSQLServer]
Driver = FreeTDS
Description = DBTempServer sample database
Trace = No
Server = <ip>
Port = 1433
Database = <dbname>


/etc/odbcinst.ini
Code: (dl )
1
2
3
4
[FreeTDS]
Description = v0.91 with protocol v8.0
Driver = /usr/lib64/libtdsodbc.so.0
UsageCount = 1



/etc/freetds.conf
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[global]
# TDS protocol version
tds version = 4.2



# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
dump file = /tmp/freetds.log
debug flags = 0xffff

# Command and connection timeouts
timeout = 10
connect timeout = 10

# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512

# A typical Sybase server
[egServer50]
host = symachine.domain.com
port = 5000
tds version = 5.0

# A typical Microsoft server
[<Dbname>]
host = ´<IP>
port = 1433
tds version = 7.0


hoffe damit kann mir einer weiterhelfen :)

es könnte ja auch sein das ich einfach den datenbank aufruf im Perlscript einfach nur ändern muss aber da habe ich schon einiges ausprobiert
Last edited: 2012-08-01 11:47:40 +0200 (CEST)

View full thread DBI verbindung zu MSSQL über Linux