當前位置:首頁 » 密碼管理 » linux訪問sqlserver

linux訪問sqlserver

發布時間: 2023-05-27 19:33:59

linux系統下 php跨平台連接sqlserver資料庫獲取數據

你可以在你php的server裡面嘗試用shell遠程連接你的SQLserver。一般這些是兩個問題,要麼是你遠程SQLserver沒有開埠,所有不能訪問你SQLserver,或者是你mysql沒有開啟遠程連接。

② Linux系統下,node.js怎麼遠程連接SqlServer

用SQL直接連 還是在程序里連
SQL直接連:
打開企業管理器---右鍵SQL Server組---新建SQL SERVER 組差肢
彈出窗口 點「下一步」 在可用伺服器內輸入 SQLSERVER的IP 局域的話輸入主機名也可以
然後點添加---下含慎一步--選擇第二項 系統管理員給我分配的……下一步 輸入SQLSERVER用戶名和密碼
--下一步 ---完成
如果SQL允許遠程登談慶敬陸的話 這樣就連上了
密碼和用戶名沒錯的話連不上的原因話說明SQLSERVER伺服器不允許遠程連接 或者不可用

③ linux 下訪問sql server

你應該牢記MySQL伺服器啟動過程的兩個目標:

你想讓伺服器以某個非root用戶運行。一般地,你想限制任何運行進程的能力,除非確實需要root許可權,而MySQL不需要。
你想讓伺服器始終以同一個用戶運行,此時用一個用戶而其他時候以另一個不同的用戶運行伺服器是很不方便的,攔搜姿這造成了為文件和目錄以具有不同屬主的數據目錄下被創建,並可能導致伺服器不能訪問資料庫或表,這看你以哪個用戶運行。統一用同一個用戶運行伺服器是你避免這個問題。
要一個普通的非特權用戶運行伺服器,按照下列步驟:

選擇一個用於運行伺服器的用戶,mysqld可以用任何用戶運行。但在概念上較清晰的是為MySQL操作創建一個單獨的用戶。你也可以特別為MySQL選擇一個用戶組。本文使用mysqladm和mysqlgrp分別作為用戶名和用戶組名。
如果你已在自己的賬號下安裝好了MySQL且沒有系統上的特殊管理許可權,你將可能在你自己的用戶ID下運行伺服器。在這種情況下,用你自己的登錄名和用戶組代替mysqladm和mysqlgrp。
如果你在RedHat Linux上用rpm文件安裝MySQL,該安裝將自動創建一個名為mysql的賬號,用該賬號代替mysqladm。
如果必要,用系統通常的創建用戶的過程創建伺服器賬號,你需要用root做它。
如果伺服器在運行,停止它。
修改數據目錄和任何子目錄和文件的屬主,這樣使得mysqladm用戶擁有它們。例如,如果數據目錄是/usr/local/var,你可以如下設置mysqladm的屬主(你需要以root運行這些命令):

#cd /usr/local/var
#chown -R mysqladm.mysqlgrp

修改數據目錄和任何子目錄和文件的許可權,使得它們只能由mysqladm用戶訪問。如果數據目錄是/usr/local/var,你可以設置由mysqladm擁有的任何東西:

# cd /usr/local/var
# chmod -R go-rwx
當你設置數據目錄及其內容的屬主和模式時,注意符號連接。你需要順著它們並改變它們指向的文件或目錄的屬主和模式。如果連接文件的目錄位於不屬於你的地方,會有些麻煩,你可能需要root身份。

在你完成了上述過程後,你應該確保總是在以mysqladm或root登錄時啟動伺服器,在後者,確定指定--user=mysqladm選項,使伺服器能將其用戶ID切換到mysqladm(同時也適用於系統啟動過程)。

--user選項在MySQL 3.22中引入,如果你有老版本,你可以使用su命令告訴系統在以root運行時在特定的用戶下運行伺服器。

二、啟動伺服器的方法
在我們確定了用於運行伺服器的賬號後,你可以選擇如何安排啟動伺服器。你可以從命令行手動或在系統引導過程中自動地運行它。對於啟動伺服器由三種主要方法:

直接調用mysqld。
這可能是最不常用的方法,建議不要多使用,因此本文不詳細介紹。
調用safe_mysqld腳本
safe_mysqld試圖確定伺服器程序和數據目錄的位置。然後用反映這些值的選項調用伺服器。safe_mysqld將標准出錯設備從伺服器重定位到數據目錄下的一個出錯文件,使得有它的一條記錄。在啟動伺服器後,safe_mysqld也監視漏談它簡絕並且如果它死掉則重啟它。safe_mysqld常用於BSD風格的Unix系統。
如果你以root或在系統引導期間啟動sqfe_mysqld,出錯日誌由root擁有,這可能在你以後試圖用一個非特權用戶調用safe_mysqld時將導致「permission denied」(許可權拒絕)錯誤,刪除出錯日誌再試一下。
調用mysql.server腳本。
這個腳本通過有意用於System V的啟動和停止系統上的safe_mysqld.mysql.server來啟動伺服器,該系統包含幾個包含在機器進入或退出一個給定運行級別時被點用的腳本目錄。它可以用一個start或stop參數點用以表明你是想啟動還是想停止伺服器。
safe_mysqld腳本安裝在MySQL安裝目錄的bin目錄下,或可在MySQL源代碼分發的scripts目錄下找到。mysql.server腳本安裝在MySQL安裝目錄下的share/mysqld目錄下或可以在MySQL源代碼分發的support_files目錄下找到。如果你想使用它們,你需要將它們拷貝到適當的目錄下。

對BSD風格的系統(FreeBSD,OpenBSD等),通常在/etc目錄下有幾個文件在引導時初始化服務,這些文件通常有以「rc」開頭的名字,且它有可能由一個名為「rc.local」的文件(或類似的東西),特意用於啟動本地安裝的服務。在這樣的系統上,你可能將類似於下列的行加入rc.local文件中以啟動伺服器(如果safe_mysqld的目錄在你的系統上不同,修改它即可):

if [ -x /usr/local/bin/safe_mysqld ]; then
/usr/local/bin/safe_mysqld &
fi
對於對於System V風格的系統,你可以通過將mysql.server放在/etc下適當的啟動目錄下來安裝它。如果你運行Linux並從一個RPM文件安裝MySQL,這些已經為你做好了,否則將腳本安裝在主啟動目錄下,並將指向它的連接放在適當的運行級別目錄下。你也可以使腳本只能由root啟動。

啟動文件的目錄布局各系統不同,所以你需要檢查一下看看你的系統如何組織它們。例如在Linux PPC上,目錄是/etc/rc.d和/etc/rc.d/rc3.d,這樣你可以這樣安裝腳本:

#cp mysql.server /etc/rc.d/init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc.d/rc3.d
#ln -s ../init.d/mysql.server S99mysql
在solaris上,主腳本目錄是/etc/init.d,並且運行級別目錄是/etc/rd2.d,所以命令看上去像這樣:

#cp mysql.server /etc/rc.d/init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc2.d
#ln -s ../init.d/mysql.server S99mysql
在系統啟動時,S99mysql腳本將自動用一個start參數調用。如果你有chkconfig命令(Linux上有),你可以由它幫助安裝mysql.server腳本而不是象上面那樣手工運行上述命令。

2.1 指定啟動選項
如果你想在伺服器啟動時指定額外的啟動選項,你可有兩種方法。你可以修改你使用的啟動腳本(safe_mysqld或mysql.server)並直接在調用伺服器的行上指定選項,或在一個選項文件中指定選項。建議你如果可能在一個全局選項文件中指定選項,它通常位於/etc/my.cnf(Unix)或c:\\my.cnf(Windows)。

某些種類的信息無法以伺服器選項指定。對於這些你可能需要修改safe_mysqld。例如,如果你的伺服器不能正確選擇本地時區而以GMT返回時間值,你可以設置TZ環境變數給它一個指示。如果你用safe_mysqld或mysql.server啟動伺服器,你可以將一個時區設置加到safe_mysqld。找到啟動伺服器的行並在該行前加入下列命令:

TZ=US/Central
export TZ
上面命令的語法是Solaris的,對於其他系統語法可能不同,請查閱相關手冊。如果你確實修改了你的啟動腳本,要記住下次你安裝MySQL時(如升級到新版本),你的修改將失去,除非你首先在別處復制了啟動腳本。在安裝了新版本後,比較新舊版本的腳本,看看你需要重建什麼改變。

2.2 在啟動時檢查你的表
除了安排你的伺服器在系統引導時啟動,你可能要安裝myisamchk和isamchk腳本,以在伺服器啟動前檢查你的表。你可能在一個崩潰後重啟,有可能表已經損害,在啟動前檢查它是一個發現問題的好方法。

三、停止伺服器
要手工啟動伺服器,使用mysqladmin:

%mysqladmin shutdown

要自動停止伺服器,你不需做特別的事情。BSD系統一般通過向進程發一個TERM信號停止服務,它們或者正確應答它或被粗魯地殺死。mysqld在它收到這個信號時以終止作為應答。對於用mysql.server啟動伺服器的System V風格的系統,停止進程將用一個stop參數調用該腳本,告訴伺服器終止,當然假定你已安裝了mysql.server。

④ 用linux怎麼進入SqlServer2005

這是我在網上幫你找到的資料,你看一下!希望能成功!

在linux下連接MSSQL是一件很痛苦的事,因為微軟同志沒有提供任何介面給開發人員,大約他們認為要用MSSQL的,只可能是windows的操作系統。還好,MSSQL是從Sybase衍生出來的,有一些哥們做了一些Sybase的Linux下的連接庫,這些連接庫同時也能支持MSSQL,FreeTDS就是這樣的一個東東。

這篇文章的受用讀者,我想是那些希望在linux或unix下編寫C或C++程序來連接MSSQl2000的兄弟們,因為我就是這樣的。同時,那些寫PHP的哥們也可以參考一下,當然如果你是用PHP的,你恐怕還要知道APACHE以及PHP腳本的安裝,這里就不多說了。

廢話少說,進入正題。

一、 相關軟體
freetds 來源:

官方網站:http://www.freetds.org

這個軟體能夠用Linux和Unix連接MS SQLServer和Sybase資料庫。

二、安裝與配置
2.1編譯安裝freetds:
$ tar zxvf freetds-stable.tgz(解壓

在這里本人的安裝出了點問題,解壓的時候只能解壓租猛散一部分,沒有辦法全部解壓,比較郁悶,本人的系統是Fedora 8,可能是比較老了一點,將freetds-stable.tgz傳給我朋友後,卻告知可以全部解壓,沒辦法,本人懶得重裝系統了,所以在windows把它解壓後,重新傳到linux上,呵呵。

$ ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib

這步驟可知迅能要修改一下configure的文件許可權,乾脆點就用chmod 777 *,呵呵,省事了!

--with-tdsver=8.0 --enable-msdblib這句話是支持ms sql server2000

$ make

$ make install 這步驟要有root許可權

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local、freetds/lib/

這步驟就是添加環境變數了,不弊氏過這樣添加不是永久起作用當下線之後,在執行的時候還要進行添加,也可以修改配置文件進行,網上這方面的方法很多就不介紹了。

安裝後測試是否成功:

tsql -H 0.0.0.0 -p 0 -U test-P test

H 後添加sql server的ip

p 後添加sql server的埠

U 後添加用戶名稱

P 後添加用戶密碼

另外我們也可以通過代碼進行訪問:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

#include </usr/local/freetds/include/sybfront.h>
#include </usr/local/freetds/include/sybdb.h>

int main(void)
{
char szUsername[32] = "自己填寫";
char szPassword[32] = "自己填寫";
char szDBName[32] = "自己填寫";
char szServer[32] = "自己填寫";形式如10.10.11.12:1111

//初始化db-library
dbinit();
//連接資料庫
LOGINREC *loginrec = dblogin();
DBSETLUSER(loginrec, szUsername);
DBSETLPWD(loginrec, szPassword);
DBPROCESS *dbprocess = dbopen(loginrec, szServer);
if(dbprocess == FAIL)
{
printf("ASB>> Conect MS SQL SERVER fail \n");
return 0;
}
printf("ASB>> ConnectEMS conect MS SQL SERVER success\n");

if(dbuse(dbprocess, szDBName) == FAIL)
{
printf("ASB>> Open database name fail\n");
}
else
{
printf("ASB>> Open database name success\n");
}

//查詢資料庫
/*dbcmd(dbprocess, "select ID,BeginTime,Description from Alarms");
if(dbsqlexec(dbprocess) == FAIL)
{
printf("ASB>> Query Alarms table error\n");
}

DBINT result_code;
char szID[1024];
char szBeginTime[1024];
char szDescription[1024];
int rows = 0;
while ((result_code = dbresults(dbprocess)) != NO_MORE_RESULTS){
if (result_code == SUCCEED){
dbbind(dbprocess, 1, CHARBIND, (DBINT)0, (BYTE*)szID);
dbbind(dbprocess, 2, CHARBIND, (DBCHAR)0, (BYTE*)szBeginTime);
dbbind(dbprocess, 3, CHARBIND, (DBCHAR)0, (BYTE*)szDescription);
while (dbnextrow(dbprocess) != NO_MORE_ROWS){
printf("ASB>> ID=%s\n", szID);
printf("ASB>> szAid=%s\n", szBeginTime);
printf("ASB>> szBeginTime=%s\n", szDescription);
}
}
}*/
//關閉資料庫連接
dbclose(dbprocess);

return 0;
}

gcc -o testsybase testsybase.c -L/usr/local/freetds/lib -lsybdb

本例中採用的是動態庫注意環境變數的添加。

⑤ 如何在linux下通過ODBC連接SQL SERVER資料庫

解壓文件 tar xvf odbc-sqlserver-1.4.27-linux-x86-glibc.tar

# cd odbc-sqlserver-1.4.27-linux-x86-glibc

# ls
all.tar dsn_template_ssl install_intro licenses_template unixodbc.tar.md5sum
all.tar.md5sum echo install_license license.txt unixodbc.tar.sum
all.tar.sum essqlservertarerr install_linkpaths licshell unixODBC_version.txt
check_root.txt ident install_other_procts OSname.txt uodbc
cmpver install install_paths sqlserver_create_dsn.sh uodbcinstall.txt
config.log install_check_linux INSTALL.txt SQLSERVER_uodbcinstall.txt uodbc_tmp
drv_template install_check_procts install_versioned tables_22189.sql versioned
drv_template_2236 install_check_root intro.txt tee
drv_template_ssl install_check_sunos licclient testlib
dsn_22189 install_check_tools license_request.txt unixODBC
dsn_template install_init licenses.out unixodbc.tar

執行install文件安裝ODBC驅動.(用root用戶執行)

#./install

這個集合了很多操作.每步都會彈出提示讓你進入下一步.

第一步提示Press the return key to read license,按回車即可.

接下來會刷很多license信息.Do you accept the license? (q=quit, yes, no):

如果接受,輸入yes.

然後會執行一些檢查命令,查看系統是否有基本一些命令工具的安裝.按回車進入下一步.

緊接著會檢查一些的包是否安裝.按回車進入下一步.

此時會提示安裝unixODBC需要依賴ODBC driver manager.按RETURN進入下一步.

然後會讓你輸入一些個人信息.不想輸的可以直接回車跳過.

接下來會有一步讓選擇licence.會有三個OPTION.

[0] Exit

[1] View existing licenses

[2] SQLServer ODBC Driver V1.2

Please choose the proct you would like a license for by entering its item number or enter one of the other options.

可以選擇2,但是選擇之後發現這個license是收費的..如果想出錢的話就去買.我是直接quit了的.進入下一步.

按要求一步步輸入IP地址,埠,用戶名,密碼,實例.它會自動測試你提供的東西是否正確.當有足夠信息去連接資料庫後,會提示輸入一個DSN名字.即為你的資料庫起一個名字,方便後邊登陸的時候使用.

這一步完成後,配置基本完成了.

別高興的太早,還要配置一個環境變數.

將LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/easysoft/sqlserver:/usr/local/easysoft/lib export LD_LIBRARY_PATH寫入到用戶profile文件中.注意路徑要正確.

現在就可以驗證啦.

#cd /usr/local/easysoft/unixODBC/bin

#./isql -v dsn_name

可以連接就OK啦.

⑥ LINUX 訪問 windows的SQL server,為什麼訪問不了

請問你訪問那個版本的slqserver
訪問sql 2000的話可以使用freetds這個odbc驅動
訪問sqlserver 2005以上的話,微軟出了redhat 企業版的linux下的odbc驅動
可以看這篇文凱握章:http://www.linuxidc.com/Linux/2012-03/56909.htm

另外,可以選擇第三方廠商推出的odbc驅動,給你一個地吵備址可以下載:
http://www.easysoft.com/procts/data_access/odbc-sql-server-driver/getting-started.html

另外盯碰慶,如果你是jsp連接的話,裝一個連接sqlserver的jdbc驅動就可以了,因為java是跨平台的,和操作系統無關

⑦ linux如何連接遠程sqlserver資料庫,請不要復制沒有可採納的回答,如果可以實施也行

https://www.microsoft.com/en-us/download/details.aspx?id=28160
http://stackoverflow.com/questions/2545858/c-access-to-sql-server-from-linux

⑧ Linux系統下,node.js怎麼遠程連接SqlServer

Node.js一直都與mysql , Nosql 配合使用,對於Sql Server卻沒有很好的支持,一直都是小眾技術人員自己編寫訪問程序。
2012年微軟公司官方發行一款Node.js訪問Sql Server的驅動程序——msnodesql ,讓Node.js訪問SQL Server更加簡單。
安裝
msnodesql 下載地址:下載 自行選擇與自己系統相符的版本,點擊安裝。
msnodesql 官方地址:https://github.com/WindowsAzure/node-sqlserver 含wiki 和 疑問解答 。
在node.js環境下,安裝方式和其他驅動安裝一樣,安裝命令:nmp install msnodesql
安裝過程中需要注意的兩個問題:
1、安裝之前必須安裝SQL Server Native Client 11.0 32位下載地址:下載 64位下載地址:下載 ,安裝此程序不需要SQL server2012支持,經測試,SQL 2005和SQL 2008 可以正常安裝使用。
2、安裝過程中,如出現錯誤,檢查是否在管理員界面下進行命令安裝,這個問題我糾結了好長一段時間。

(右鍵——以管理員身份運行)

使用
引用驅動
var sql = require('msnodesql');

建立資料庫連接
var conn_str = "Driver={SQL Server Native Client 11.0};Server={.};Database={nodetest};uid=sa;PWD=123456;";

不要被 SQL Server Native Client 11.0 嚇到,可以完美支持sql 2005和sql 2008 的。
打開資料庫

sql.open(conn_str, function (err, conn) {
if (err) {
console.log("Error opening the connection!");
return;
}

//這里是查詢語句
});

SQL操作

sql.queryRaw(conn_str,"SELECT * FROM TestTable",

function (err, results)
{
if (err)
{
console.log("Error running query!");
return;
}
for (var i = 0; i < results.rows.length; i++)
{
console.log("0:" + results.rows[i][0]); }
});

注意:此處的寫法與wiki文檔的寫法有些不同,我用過wiki文檔的寫法(https://github.com/WindowsAzure/node-sqlserver/wiki),有時會出現無法查詢數據的情況,w我這種寫法是參考源代碼中參數的寫法,queryRaw包含四個參數:
connectionstring:鏈接字元串(wiki裡面的居然沒有用這個,直接用function裡面的參數 conn,搞不懂)
query:SQL語句
param:參數(可選的)
callback:回傳函數,操作完以後返回的事件

一個完整的例子

var sql=require('msnodesql');
var conn_str="Driver={SQL Server Native Client 11.0};Server={.};Database={nodetest};uid=sa;PWD=123456;";

sql.open(conn_str, function (err, conn) {
if (err) {
console.log('發生錯誤');
}

sql.queryRaw(conn_str, "select * from users", function (err, results) {
if (err) {
console.log(err);
}
else {
for (var i = 0; i < results.rows.length; i++) {
console.log(results.rows[i][0] + results.rows[i][1]);
}
}
})

})

⑨ 在linux下php可以連接sqlserver資料庫嗎我用的是thinkphp的框架,望大神指點

sql server資料庫是微軟的產品, 微軟的任何產品都只能依賴windows系統!
除非你的php在linux系統, 而sql server資料庫在windows系統下,而且sql server登錄用戶開啟了遠程登錄連接!

⑩ 如何在linux下用C 或者C++連接sqlserver

ListViewer listViewer;
public static class Language {
public String genre;
public boolean isObjectOriented;

public Language() { }
public Language(String genre, boolean isObjectOriented) {
this.genre = genre;
this.isObjectOriented = isObjectOriented;
}

熱點內容
ceph緩存變慢 發布:2025-02-07 11:46:52 瀏覽:923
python做什麼用的 發布:2025-02-07 11:46:46 瀏覽:563
o2o與資料庫設計 發布:2025-02-07 11:35:27 瀏覽:928
ftp伺服器推薦 發布:2025-02-07 11:35:16 瀏覽:700
吉利星瑞豪華加6000是有哪些配置 發布:2025-02-07 11:25:18 瀏覽:971
李字加工編程 發布:2025-02-07 11:23:50 瀏覽:881
linux安全運維 發布:2025-02-07 11:14:19 瀏覽:737
阿里雲集群伺服器 發布:2025-02-07 11:12:38 瀏覽:453
如何選擇家庭最佳配置 發布:2025-02-07 11:06:50 瀏覽:89
javatomcat伺服器搭建伺服器 發布:2025-02-07 10:55:22 瀏覽:624